﻿2026-06-03T22:00:56.6514594Z ##[group]Run ./traceable-reqs check --json
2026-06-03T22:00:56.6515310Z [36;1m./traceable-reqs check --json[0m
2026-06-03T22:00:56.6542019Z shell: /usr/bin/bash -e {0}
2026-06-03T22:00:56.6542338Z ##[endgroup]
2026-06-03T22:00:56.6657044Z {
2026-06-03T22:00:56.6657432Z   "schemaVersion": 1,
2026-06-03T22:00:56.6658340Z   "summary": {
2026-06-03T22:00:56.6658708Z     "requirementCount": 125,
2026-06-03T22:00:56.6658995Z     "completeCount": 125,
2026-06-03T22:00:56.6659261Z     "incompleteCount": 0,
2026-06-03T22:00:56.6660078Z     "findingCount": 0
2026-06-03T22:00:56.6660504Z   },
2026-06-03T22:00:56.6662587Z   "requirements": [
2026-06-03T22:00:56.6663347Z     {
2026-06-03T22:00:56.6663816Z       "id": "REQ-API-1",
2026-06-03T22:00:56.6664468Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-03T22:00:56.6665188Z       "requiredStages": [
2026-06-03T22:00:56.6665602Z         "impl",
2026-06-03T22:00:56.6665953Z         "unit",
2026-06-03T22:00:56.6666301Z         "int"
2026-06-03T22:00:56.6666681Z       ],
2026-06-03T22:00:56.6667007Z       "stages": {
2026-06-03T22:00:56.6667384Z         "doc": {
2026-06-03T22:00:56.6667757Z           "complete": false,
2026-06-03T22:00:56.6668187Z           "evidence": []
2026-06-03T22:00:56.6668570Z         },
2026-06-03T22:00:56.6668917Z         "impl": {
2026-06-03T22:00:56.6669279Z           "complete": true,
2026-06-03T22:00:56.6669975Z           "evidence": [
2026-06-03T22:00:56.6670394Z             {
2026-06-03T22:00:56.6670821Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T22:00:56.6671337Z               "line": 15
2026-06-03T22:00:56.6671713Z             }
2026-06-03T22:00:56.6672054Z           ]
2026-06-03T22:00:56.6672379Z         },
2026-06-03T22:00:56.6672699Z         "int": {
2026-06-03T22:00:56.6673957Z           "complete": true,
2026-06-03T22:00:56.6674376Z           "evidence": [
2026-06-03T22:00:56.6674748Z             {
2026-06-03T22:00:56.6675158Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.6675716Z               "line": 13
2026-06-03T22:00:56.6676105Z             }
2026-06-03T22:00:56.6676434Z           ]
2026-06-03T22:00:56.6676754Z         },
2026-06-03T22:00:56.6677079Z         "unit": {
2026-06-03T22:00:56.6677444Z           "complete": true,
2026-06-03T22:00:56.6677859Z           "evidence": [
2026-06-03T22:00:56.6678234Z             {
2026-06-03T22:00:56.6678625Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T22:00:56.6679149Z               "line": 329
2026-06-03T22:00:56.6680253Z             },
2026-06-03T22:00:56.6680613Z             {
2026-06-03T22:00:56.6681011Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T22:00:56.6681523Z               "line": 335
2026-06-03T22:00:56.6681911Z             },
2026-06-03T22:00:56.6682244Z             {
2026-06-03T22:00:56.6682630Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T22:00:56.6683141Z               "line": 346
2026-06-03T22:00:56.6683524Z             }
2026-06-03T22:00:56.6683859Z           ]
2026-06-03T22:00:56.6684180Z         }
2026-06-03T22:00:56.6684504Z       }
2026-06-03T22:00:56.6684814Z     },
2026-06-03T22:00:56.6685124Z     {
2026-06-03T22:00:56.6685456Z       "id": "REQ-API-2",
2026-06-03T22:00:56.6686176Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-03T22:00:56.6686990Z       "requiredStages": [
2026-06-03T22:00:56.6687406Z         "impl",
2026-06-03T22:00:56.6687757Z         "unit",
2026-06-03T22:00:56.6688097Z         "int"
2026-06-03T22:00:56.6688431Z       ],
2026-06-03T22:00:56.6688766Z       "stages": {
2026-06-03T22:00:56.6689119Z         "doc": {
2026-06-03T22:00:56.6689689Z           "complete": false,
2026-06-03T22:00:56.6690131Z           "evidence": []
2026-06-03T22:00:56.6690530Z         },
2026-06-03T22:00:56.6690860Z         "impl": {
2026-06-03T22:00:56.6691232Z           "complete": true,
2026-06-03T22:00:56.6691651Z           "evidence": [
2026-06-03T22:00:56.6692023Z             {
2026-06-03T22:00:56.6692717Z               "path": "crates/spt-store/src/history.rs",
2026-06-03T22:00:56.6693415Z               "line": 15
2026-06-03T22:00:56.6693801Z             },
2026-06-03T22:00:56.6694139Z             {
2026-06-03T22:00:56.6694545Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.6695070Z               "line": 20
2026-06-03T22:00:56.6695444Z             },
2026-06-03T22:00:56.6695776Z             {
2026-06-03T22:00:56.6696185Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.6696708Z               "line": 125
2026-06-03T22:00:56.6697092Z             },
2026-06-03T22:00:56.6697421Z             {
2026-06-03T22:00:56.6697829Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6698364Z               "line": 21
2026-06-03T22:00:56.6698741Z             },
2026-06-03T22:00:56.6699072Z             {
2026-06-03T22:00:56.6704080Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6704704Z               "line": 36
2026-06-03T22:00:56.6705106Z             },
2026-06-03T22:00:56.6705582Z             {
2026-06-03T22:00:56.6774803Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6775492Z               "line": 101
2026-06-03T22:00:56.6775968Z             },
2026-06-03T22:00:56.6776398Z             {
2026-06-03T22:00:56.6776908Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6777435Z               "line": 123
2026-06-03T22:00:56.6777813Z             },
2026-06-03T22:00:56.6778153Z             {
2026-06-03T22:00:56.6778621Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6779170Z               "line": 147
2026-06-03T22:00:56.6779818Z             },
2026-06-03T22:00:56.6780209Z             {
2026-06-03T22:00:56.6780635Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.6781168Z               "line": 17
2026-06-03T22:00:56.6781558Z             },
2026-06-03T22:00:56.6781931Z             {
2026-06-03T22:00:56.6782397Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.6782952Z               "line": 30
2026-06-03T22:00:56.6783346Z             },
2026-06-03T22:00:56.6783687Z             {
2026-06-03T22:00:56.6784099Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.6784639Z               "line": 63
2026-06-03T22:00:56.6785029Z             },
2026-06-03T22:00:56.6785376Z             {
2026-06-03T22:00:56.6785786Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.6786327Z               "line": 76
2026-06-03T22:00:56.6786941Z             }
2026-06-03T22:00:56.6787278Z           ]
2026-06-03T22:00:56.6787602Z         },
2026-06-03T22:00:56.6787937Z         "int": {
2026-06-03T22:00:56.6788320Z           "complete": true,
2026-06-03T22:00:56.6788757Z           "evidence": [
2026-06-03T22:00:56.6789153Z             {
2026-06-03T22:00:56.6790300Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.6790894Z               "line": 14
2026-06-03T22:00:56.6791376Z             },
2026-06-03T22:00:56.6791760Z             {
2026-06-03T22:00:56.6792224Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.6792825Z               "line": 151
2026-06-03T22:00:56.6793294Z             }
2026-06-03T22:00:56.6793666Z           ]
2026-06-03T22:00:56.6794009Z         },
2026-06-03T22:00:56.6794347Z         "unit": {
2026-06-03T22:00:56.6794722Z           "complete": true,
2026-06-03T22:00:56.6795153Z           "evidence": [
2026-06-03T22:00:56.6795534Z             {
2026-06-03T22:00:56.6795975Z               "path": "crates/spt-store/src/history.rs",
2026-06-03T22:00:56.6796521Z               "line": 42
2026-06-03T22:00:56.6796951Z             },
2026-06-03T22:00:56.6797356Z             {
2026-06-03T22:00:56.6797815Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.6798326Z               "line": 204
2026-06-03T22:00:56.6798714Z             },
2026-06-03T22:00:56.6799040Z             {
2026-06-03T22:00:56.6799938Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6800637Z               "line": 220
2026-06-03T22:00:56.6801013Z             },
2026-06-03T22:00:56.6801406Z             {
2026-06-03T22:00:56.6801808Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6802316Z               "line": 231
2026-06-03T22:00:56.6802685Z             },
2026-06-03T22:00:56.6803010Z             {
2026-06-03T22:00:56.6803402Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6803905Z               "line": 267
2026-06-03T22:00:56.6804272Z             },
2026-06-03T22:00:56.6804600Z             {
2026-06-03T22:00:56.6804995Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6805503Z               "line": 279
2026-06-03T22:00:56.6805877Z             },
2026-06-03T22:00:56.6806200Z             {
2026-06-03T22:00:56.6806590Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.6807090Z               "line": 137
2026-06-03T22:00:56.6807444Z             },
2026-06-03T22:00:56.6807655Z             {
2026-06-03T22:00:56.6807893Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.6808208Z               "line": 172
2026-06-03T22:00:56.6808436Z             }
2026-06-03T22:00:56.6808636Z           ]
2026-06-03T22:00:56.6808825Z         }
2026-06-03T22:00:56.6809014Z       }
2026-06-03T22:00:56.6809202Z     },
2026-06-03T22:00:56.6809897Z     {
2026-06-03T22:00:56.6810271Z       "id": "REQ-API-3",
2026-06-03T22:00:56.6810730Z       "title": "commune/signoff are file-drops, not commands",
2026-06-03T22:00:56.6811096Z       "requiredStages": [
2026-06-03T22:00:56.6811339Z         "impl",
2026-06-03T22:00:56.6811552Z         "unit",
2026-06-03T22:00:56.6811750Z         "int"
2026-06-03T22:00:56.6811943Z       ],
2026-06-03T22:00:56.6812134Z       "stages": {
2026-06-03T22:00:56.6812337Z         "doc": {
2026-06-03T22:00:56.6812560Z           "complete": false,
2026-06-03T22:00:56.6812806Z           "evidence": []
2026-06-03T22:00:56.6813052Z         },
2026-06-03T22:00:56.6813254Z         "impl": {
2026-06-03T22:00:56.6813474Z           "complete": true,
2026-06-03T22:00:56.6813709Z           "evidence": [
2026-06-03T22:00:56.6813929Z             {
2026-06-03T22:00:56.6814173Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T22:00:56.6814482Z               "line": 14
2026-06-03T22:00:56.6814703Z             },
2026-06-03T22:00:56.6814899Z             {
2026-06-03T22:00:56.6815142Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6815447Z               "line": 157
2026-06-03T22:00:56.6815674Z             }
2026-06-03T22:00:56.6815864Z           ]
2026-06-03T22:00:56.6816052Z         },
2026-06-03T22:00:56.6816247Z         "int": {
2026-06-03T22:00:56.6816459Z           "complete": true,
2026-06-03T22:00:56.6816696Z           "evidence": [
2026-06-03T22:00:56.6816918Z             {
2026-06-03T22:00:56.6817168Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.6817501Z               "line": 203
2026-06-03T22:00:56.6817730Z             }
2026-06-03T22:00:56.6817922Z           ]
2026-06-03T22:00:56.6818114Z         },
2026-06-03T22:00:56.6818308Z         "unit": {
2026-06-03T22:00:56.6818525Z           "complete": true,
2026-06-03T22:00:56.6818767Z           "evidence": [
2026-06-03T22:00:56.6819013Z             {
2026-06-03T22:00:56.6819252Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T22:00:56.6819827Z               "line": 117
2026-06-03T22:00:56.6820070Z             },
2026-06-03T22:00:56.6820278Z             {
2026-06-03T22:00:56.6820535Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.6820856Z               "line": 288
2026-06-03T22:00:56.6821077Z             }
2026-06-03T22:00:56.6821269Z           ]
2026-06-03T22:00:56.6821462Z         }
2026-06-03T22:00:56.6821651Z       }
2026-06-03T22:00:56.6821839Z     },
2026-06-03T22:00:56.6822022Z     {
2026-06-03T22:00:56.6822218Z       "id": "REQ-ARCH-1",
2026-06-03T22:00:56.6822674Z       "title": "Many small acyclically-layered crates",
2026-06-03T22:00:56.6823130Z       "requiredStages": [
2026-06-03T22:00:56.6823366Z         "impl"
2026-06-03T22:00:56.6823570Z       ],
2026-06-03T22:00:56.6823766Z       "stages": {
2026-06-03T22:00:56.6823982Z         "doc": {
2026-06-03T22:00:56.6824197Z           "complete": false,
2026-06-03T22:00:56.6824445Z           "evidence": []
2026-06-03T22:00:56.6824670Z         },
2026-06-03T22:00:56.6824864Z         "impl": {
2026-06-03T22:00:56.6825084Z           "complete": true,
2026-06-03T22:00:56.6825323Z           "evidence": [
2026-06-03T22:00:56.6825540Z             {
2026-06-03T22:00:56.6825775Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-03T22:00:56.6826077Z               "line": 16
2026-06-03T22:00:56.6826293Z             },
2026-06-03T22:00:56.6826489Z             {
2026-06-03T22:00:56.6826725Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-03T22:00:56.6827023Z               "line": 12
2026-06-03T22:00:56.6827247Z             },
2026-06-03T22:00:56.6827447Z             {
2026-06-03T22:00:56.6827680Z               "path": "crates/spt-store/src/lib.rs",
2026-06-03T22:00:56.6827976Z               "line": 12
2026-06-03T22:00:56.6828192Z             }
2026-06-03T22:00:56.6828386Z           ]
2026-06-03T22:00:56.6828579Z         },
2026-06-03T22:00:56.6828772Z         "int": {
2026-06-03T22:00:56.6828987Z           "complete": false,
2026-06-03T22:00:56.6829233Z           "evidence": []
2026-06-03T22:00:56.6829722Z         },
2026-06-03T22:00:56.6829943Z         "unit": {
2026-06-03T22:00:56.6830165Z           "complete": false,
2026-06-03T22:00:56.6830417Z           "evidence": []
2026-06-03T22:00:56.6830639Z         }
2026-06-03T22:00:56.6830830Z       }
2026-06-03T22:00:56.6831014Z     },
2026-06-03T22:00:56.6831201Z     {
2026-06-03T22:00:56.6831402Z       "id": "REQ-ARCH-2",
2026-06-03T22:00:56.6831746Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-03T22:00:56.6832145Z       "requiredStages": [
2026-06-03T22:00:56.6832383Z         "impl"
2026-06-03T22:00:56.6832576Z       ],
2026-06-03T22:00:56.6832763Z       "stages": {
2026-06-03T22:00:56.6832962Z         "doc": {
2026-06-03T22:00:56.6833168Z           "complete": false,
2026-06-03T22:00:56.6833405Z           "evidence": []
2026-06-03T22:00:56.6833619Z         },
2026-06-03T22:00:56.6833808Z         "impl": {
2026-06-03T22:00:56.6834025Z           "complete": true,
2026-06-03T22:00:56.6834264Z           "evidence": [
2026-06-03T22:00:56.6834479Z             {
2026-06-03T22:00:56.6834715Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-03T22:00:56.6835016Z               "line": 18
2026-06-03T22:00:56.6835228Z             }
2026-06-03T22:00:56.6835419Z           ]
2026-06-03T22:00:56.6835602Z         },
2026-06-03T22:00:56.6835791Z         "int": {
2026-06-03T22:00:56.6836004Z           "complete": false,
2026-06-03T22:00:56.6836242Z           "evidence": []
2026-06-03T22:00:56.6836459Z         },
2026-06-03T22:00:56.6836642Z         "unit": {
2026-06-03T22:00:56.6836853Z           "complete": false,
2026-06-03T22:00:56.6837087Z           "evidence": []
2026-06-03T22:00:56.6837299Z         }
2026-06-03T22:00:56.6837490Z       }
2026-06-03T22:00:56.6837671Z     },
2026-06-03T22:00:56.6837848Z     {
2026-06-03T22:00:56.6838037Z       "id": "REQ-ARCH-3",
2026-06-03T22:00:56.6838409Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-03T22:00:56.6838835Z       "requiredStages": [
2026-06-03T22:00:56.6839060Z         "impl",
2026-06-03T22:00:56.6839260Z         "unit"
2026-06-03T22:00:56.6839838Z       ],
2026-06-03T22:00:56.6840040Z       "stages": {
2026-06-03T22:00:56.6840253Z         "doc": {
2026-06-03T22:00:56.6840468Z           "complete": false,
2026-06-03T22:00:56.6840719Z           "evidence": []
2026-06-03T22:00:56.6840941Z         },
2026-06-03T22:00:56.6841130Z         "impl": {
2026-06-03T22:00:56.6841346Z           "complete": true,
2026-06-03T22:00:56.6841739Z           "evidence": [
2026-06-03T22:00:56.6842059Z             {
2026-06-03T22:00:56.6842307Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T22:00:56.6842628Z               "line": 34
2026-06-03T22:00:56.6842843Z             },
2026-06-03T22:00:56.6843038Z             {
2026-06-03T22:00:56.6843285Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T22:00:56.6843599Z               "line": 41
2026-06-03T22:00:56.6843815Z             }
2026-06-03T22:00:56.6844001Z           ]
2026-06-03T22:00:56.6844181Z         },
2026-06-03T22:00:56.6844366Z         "int": {
2026-06-03T22:00:56.6844574Z           "complete": false,
2026-06-03T22:00:56.6844812Z           "evidence": []
2026-06-03T22:00:56.6845025Z         },
2026-06-03T22:00:56.6845211Z         "unit": {
2026-06-03T22:00:56.6845420Z           "complete": true,
2026-06-03T22:00:56.6845650Z           "evidence": [
2026-06-03T22:00:56.6845858Z             {
2026-06-03T22:00:56.6846096Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T22:00:56.6846409Z               "line": 51
2026-06-03T22:00:56.6846617Z             },
2026-06-03T22:00:56.6846806Z             {
2026-06-03T22:00:56.6847034Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T22:00:56.6847333Z               "line": 65
2026-06-03T22:00:56.6847550Z             },
2026-06-03T22:00:56.6847743Z             {
2026-06-03T22:00:56.6847978Z               "path": "crates/spt-proto/src/version.rs",
2026-06-03T22:00:56.6848279Z               "line": 74
2026-06-03T22:00:56.6848491Z             }
2026-06-03T22:00:56.6848680Z           ]
2026-06-03T22:00:56.6848865Z         }
2026-06-03T22:00:56.6849053Z       }
2026-06-03T22:00:56.6849234Z     },
2026-06-03T22:00:56.6849786Z     {
2026-06-03T22:00:56.6850035Z       "id": "REQ-ARCH-4",
2026-06-03T22:00:56.6850402Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-03T22:00:56.6850807Z       "requiredStages": [
2026-06-03T22:00:56.6851043Z         "impl",
2026-06-03T22:00:56.6851248Z         "unit"
2026-06-03T22:00:56.6851442Z       ],
2026-06-03T22:00:56.6851628Z       "stages": {
2026-06-03T22:00:56.6851829Z         "doc": {
2026-06-03T22:00:56.6852034Z           "complete": false,
2026-06-03T22:00:56.6852271Z           "evidence": []
2026-06-03T22:00:56.6852491Z         },
2026-06-03T22:00:56.6852677Z         "impl": {
2026-06-03T22:00:56.6852878Z           "complete": true,
2026-06-03T22:00:56.6853111Z           "evidence": [
2026-06-03T22:00:56.6853321Z             {
2026-06-03T22:00:56.6853557Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6853855Z               "line": 32
2026-06-03T22:00:56.6854066Z             },
2026-06-03T22:00:56.6854258Z             {
2026-06-03T22:00:56.6854489Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6854778Z               "line": 46
2026-06-03T22:00:56.6854991Z             },
2026-06-03T22:00:56.6855182Z             {
2026-06-03T22:00:56.6855417Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6855708Z               "line": 66
2026-06-03T22:00:56.6855917Z             },
2026-06-03T22:00:56.6856110Z             {
2026-06-03T22:00:56.6856335Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6856622Z               "line": 81
2026-06-03T22:00:56.6856829Z             },
2026-06-03T22:00:56.6857021Z             {
2026-06-03T22:00:56.6857244Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6857528Z               "line": 131
2026-06-03T22:00:56.6857741Z             }
2026-06-03T22:00:56.6857928Z           ]
2026-06-03T22:00:56.6858108Z         },
2026-06-03T22:00:56.6858294Z         "int": {
2026-06-03T22:00:56.6858503Z           "complete": false,
2026-06-03T22:00:56.6858743Z           "evidence": []
2026-06-03T22:00:56.6858958Z         },
2026-06-03T22:00:56.6859155Z         "unit": {
2026-06-03T22:00:56.6859488Z           "complete": true,
2026-06-03T22:00:56.6859886Z           "evidence": [
2026-06-03T22:00:56.6860100Z             {
2026-06-03T22:00:56.6860433Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6860730Z               "line": 195
2026-06-03T22:00:56.6860943Z             },
2026-06-03T22:00:56.6861132Z             {
2026-06-03T22:00:56.6861356Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6861645Z               "line": 205
2026-06-03T22:00:56.6861860Z             },
2026-06-03T22:00:56.6862051Z             {
2026-06-03T22:00:56.6862281Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6862573Z               "line": 216
2026-06-03T22:00:56.6862788Z             },
2026-06-03T22:00:56.6862978Z             {
2026-06-03T22:00:56.6863205Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6863494Z               "line": 227
2026-06-03T22:00:56.6863711Z             },
2026-06-03T22:00:56.6863902Z             {
2026-06-03T22:00:56.6864128Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6864427Z               "line": 239
2026-06-03T22:00:56.6864650Z             },
2026-06-03T22:00:56.6864842Z             {
2026-06-03T22:00:56.6865067Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6865356Z               "line": 252
2026-06-03T22:00:56.6865571Z             },
2026-06-03T22:00:56.6865760Z             {
2026-06-03T22:00:56.6865989Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6866280Z               "line": 263
2026-06-03T22:00:56.6866489Z             },
2026-06-03T22:00:56.6866673Z             {
2026-06-03T22:00:56.6866894Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6867184Z               "line": 277
2026-06-03T22:00:56.6867397Z             },
2026-06-03T22:00:56.6867584Z             {
2026-06-03T22:00:56.6867805Z               "path": "crates/spt-proto/src/event.rs",
2026-06-03T22:00:56.6868096Z               "line": 286
2026-06-03T22:00:56.6868323Z             }
2026-06-03T22:00:56.6868522Z           ]
2026-06-03T22:00:56.6868717Z         }
2026-06-03T22:00:56.6868909Z       }
2026-06-03T22:00:56.6869098Z     },
2026-06-03T22:00:56.6869285Z     {
2026-06-03T22:00:56.6869614Z       "id": "REQ-DAEMON-1",
2026-06-03T22:00:56.6869957Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-03T22:00:56.6870342Z       "requiredStages": [
2026-06-03T22:00:56.6870569Z         "impl",
2026-06-03T22:00:56.6870769Z         "unit",
2026-06-03T22:00:56.6870961Z         "int"
2026-06-03T22:00:56.6871151Z       ],
2026-06-03T22:00:56.6871338Z       "stages": {
2026-06-03T22:00:56.6871545Z         "doc": {
2026-06-03T22:00:56.6872305Z           "complete": false,
2026-06-03T22:00:56.6872591Z           "evidence": []
2026-06-03T22:00:56.6872827Z         },
2026-06-03T22:00:56.6873024Z         "impl": {
2026-06-03T22:00:56.6873237Z           "complete": true,
2026-06-03T22:00:56.6873474Z           "evidence": [
2026-06-03T22:00:56.6873695Z             {
2026-06-03T22:00:56.6873944Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T22:00:56.6874272Z               "line": 12
2026-06-03T22:00:56.6874494Z             },
2026-06-03T22:00:56.6874696Z             {
2026-06-03T22:00:56.6874938Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6875256Z               "line": 16
2026-06-03T22:00:56.6875488Z             },
2026-06-03T22:00:56.6875687Z             {
2026-06-03T22:00:56.6875929Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-03T22:00:56.6876229Z               "line": 15
2026-06-03T22:00:56.6876447Z             },
2026-06-03T22:00:56.6876645Z             {
2026-06-03T22:00:56.6876883Z               "path": "crates/spt/src/api/live.rs",
2026-06-03T22:00:56.6877182Z               "line": 13
2026-06-03T22:00:56.6877402Z             }
2026-06-03T22:00:56.6877593Z           ]
2026-06-03T22:00:56.6877783Z         },
2026-06-03T22:00:56.6877972Z         "int": {
2026-06-03T22:00:56.6878188Z           "complete": true,
2026-06-03T22:00:56.6878578Z           "evidence": [
2026-06-03T22:00:56.6878906Z             {
2026-06-03T22:00:56.6879163Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-03T22:00:56.6879636Z               "line": 32
2026-06-03T22:00:56.6879860Z             }
2026-06-03T22:00:56.6880058Z           ]
2026-06-03T22:00:56.6880249Z         },
2026-06-03T22:00:56.6880438Z         "unit": {
2026-06-03T22:00:56.6880652Z           "complete": true,
2026-06-03T22:00:56.6880886Z           "evidence": [
2026-06-03T22:00:56.6881108Z             {
2026-06-03T22:00:56.6881348Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T22:00:56.6881648Z               "line": 139
2026-06-03T22:00:56.6881869Z             },
2026-06-03T22:00:56.6882060Z             {
2026-06-03T22:00:56.6882293Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T22:00:56.6882594Z               "line": 147
2026-06-03T22:00:56.6882813Z             },
2026-06-03T22:00:56.6883021Z             {
2026-06-03T22:00:56.6883255Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T22:00:56.6883557Z               "line": 160
2026-06-03T22:00:56.6883777Z             },
2026-06-03T22:00:56.6883967Z             {
2026-06-03T22:00:56.6884203Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T22:00:56.6884501Z               "line": 168
2026-06-03T22:00:56.6884721Z             },
2026-06-03T22:00:56.6884917Z             {
2026-06-03T22:00:56.6885170Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6885486Z               "line": 451
2026-06-03T22:00:56.6885707Z             },
2026-06-03T22:00:56.6885901Z             {
2026-06-03T22:00:56.6886142Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6886449Z               "line": 510
2026-06-03T22:00:56.6886667Z             },
2026-06-03T22:00:56.6886859Z             {
2026-06-03T22:00:56.6887095Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-03T22:00:56.6887397Z               "line": 100
2026-06-03T22:00:56.6887623Z             },
2026-06-03T22:00:56.6887817Z             {
2026-06-03T22:00:56.6888047Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-03T22:00:56.6888345Z               "line": 125
2026-06-03T22:00:56.6888566Z             }
2026-06-03T22:00:56.6888759Z           ]
2026-06-03T22:00:56.6888957Z         }
2026-06-03T22:00:56.6889146Z       }
2026-06-03T22:00:56.6889556Z     },
2026-06-03T22:00:56.6889880Z     {
2026-06-03T22:00:56.6890091Z       "id": "REQ-DAEMON-2",
2026-06-03T22:00:56.6890407Z       "title": "Broker/brain split for seamless self-update",
2026-06-03T22:00:56.6890752Z       "requiredStages": [
2026-06-03T22:00:56.6890985Z         "impl",
2026-06-03T22:00:56.6891185Z         "unit",
2026-06-03T22:00:56.6891388Z         "int"
2026-06-03T22:00:56.6891579Z       ],
2026-06-03T22:00:56.6891771Z       "stages": {
2026-06-03T22:00:56.6891976Z         "doc": {
2026-06-03T22:00:56.6892189Z           "complete": false,
2026-06-03T22:00:56.6892442Z           "evidence": []
2026-06-03T22:00:56.6892672Z         },
2026-06-03T22:00:56.6892860Z         "impl": {
2026-06-03T22:00:56.6893072Z           "complete": true,
2026-06-03T22:00:56.6893312Z           "evidence": [
2026-06-03T22:00:56.6893531Z             {
2026-06-03T22:00:56.6893769Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T22:00:56.6894063Z               "line": 23
2026-06-03T22:00:56.6894280Z             },
2026-06-03T22:00:56.6894476Z             {
2026-06-03T22:00:56.6894709Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-03T22:00:56.6895009Z               "line": 32
2026-06-03T22:00:56.6895230Z             },
2026-06-03T22:00:56.6895425Z             {
2026-06-03T22:00:56.6895655Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T22:00:56.6895944Z               "line": 11
2026-06-03T22:00:56.6896161Z             },
2026-06-03T22:00:56.6896355Z             {
2026-06-03T22:00:56.6896589Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T22:00:56.6897128Z               "line": 13
2026-06-03T22:00:56.6897347Z             },
2026-06-03T22:00:56.6897548Z             {
2026-06-03T22:00:56.6897790Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T22:00:56.6898101Z               "line": 10
2026-06-03T22:00:56.6898318Z             }
2026-06-03T22:00:56.6898509Z           ]
2026-06-03T22:00:56.6898698Z         },
2026-06-03T22:00:56.6898885Z         "int": {
2026-06-03T22:00:56.6899099Z           "complete": true,
2026-06-03T22:00:56.6899477Z           "evidence": [
2026-06-03T22:00:56.6899703Z             {
2026-06-03T22:00:56.6899950Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-03T22:00:56.6900257Z               "line": 17
2026-06-03T22:00:56.6900478Z             },
2026-06-03T22:00:56.6900704Z             {
2026-06-03T22:00:56.6900953Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-03T22:00:56.6901272Z               "line": 33
2026-06-03T22:00:56.6901493Z             },
2026-06-03T22:00:56.6901694Z             {
2026-06-03T22:00:56.6901930Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-03T22:00:56.6902239Z               "line": 19
2026-06-03T22:00:56.6902455Z             }
2026-06-03T22:00:56.6902644Z           ]
2026-06-03T22:00:56.6902829Z         },
2026-06-03T22:00:56.6903016Z         "unit": {
2026-06-03T22:00:56.6903223Z           "complete": true,
2026-06-03T22:00:56.6903461Z           "evidence": [
2026-06-03T22:00:56.6903675Z             {
2026-06-03T22:00:56.6903908Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T22:00:56.6904206Z               "line": 62
2026-06-03T22:00:56.6904421Z             },
2026-06-03T22:00:56.6904614Z             {
2026-06-03T22:00:56.6904846Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T22:00:56.6905136Z               "line": 76
2026-06-03T22:00:56.6905354Z             },
2026-06-03T22:00:56.6905550Z             {
2026-06-03T22:00:56.6905785Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-03T22:00:56.6906085Z               "line": 88
2026-06-03T22:00:56.6906301Z             },
2026-06-03T22:00:56.6906496Z             {
2026-06-03T22:00:56.6906728Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T22:00:56.6907026Z               "line": 254
2026-06-03T22:00:56.6907251Z             },
2026-06-03T22:00:56.6907449Z             {
2026-06-03T22:00:56.6907676Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T22:00:56.6907974Z               "line": 196
2026-06-03T22:00:56.6908195Z             },
2026-06-03T22:00:56.6908390Z             {
2026-06-03T22:00:56.6908620Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T22:00:56.6908913Z               "line": 204
2026-06-03T22:00:56.6909135Z             },
2026-06-03T22:00:56.6909454Z             {
2026-06-03T22:00:56.6909689Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-03T22:00:56.6909982Z               "line": 221
2026-06-03T22:00:56.6910213Z             },
2026-06-03T22:00:56.6910411Z             {
2026-06-03T22:00:56.6910653Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T22:00:56.6910996Z               "line": 112
2026-06-03T22:00:56.6911215Z             }
2026-06-03T22:00:56.6911411Z           ]
2026-06-03T22:00:56.6911600Z         }
2026-06-03T22:00:56.6911788Z       }
2026-06-03T22:00:56.6911973Z     },
2026-06-03T22:00:56.6912157Z     {
2026-06-03T22:00:56.6912352Z       "id": "REQ-DAEMON-3",
2026-06-03T22:00:56.6912677Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-03T22:00:56.6913036Z       "requiredStages": [
2026-06-03T22:00:56.6913263Z         "impl",
2026-06-03T22:00:56.6913473Z         "unit",
2026-06-03T22:00:56.6913670Z         "int"
2026-06-03T22:00:56.6913861Z       ],
2026-06-03T22:00:56.6914051Z       "stages": {
2026-06-03T22:00:56.6914257Z         "doc": {
2026-06-03T22:00:56.6914469Z           "complete": false,
2026-06-03T22:00:56.6914843Z           "evidence": []
2026-06-03T22:00:56.6915067Z         },
2026-06-03T22:00:56.6915364Z         "impl": {
2026-06-03T22:00:56.6915586Z           "complete": true,
2026-06-03T22:00:56.6915817Z           "evidence": [
2026-06-03T22:00:56.6916035Z             {
2026-06-03T22:00:56.6916277Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-03T22:00:56.6916580Z               "line": 14
2026-06-03T22:00:56.6916798Z             },
2026-06-03T22:00:56.6916996Z             {
2026-06-03T22:00:56.6917238Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-03T22:00:56.6917558Z               "line": 11
2026-06-03T22:00:56.6917777Z             },
2026-06-03T22:00:56.6917971Z             {
2026-06-03T22:00:56.6918204Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T22:00:56.6918497Z               "line": 203
2026-06-03T22:00:56.6918720Z             },
2026-06-03T22:00:56.6918915Z             {
2026-06-03T22:00:56.6919139Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.6919558Z               "line": 221
2026-06-03T22:00:56.6919793Z             }
2026-06-03T22:00:56.6919985Z           ]
2026-06-03T22:00:56.6920172Z         },
2026-06-03T22:00:56.6920358Z         "int": {
2026-06-03T22:00:56.6920567Z           "complete": true,
2026-06-03T22:00:56.6920801Z           "evidence": [
2026-06-03T22:00:56.6921017Z             {
2026-06-03T22:00:56.6921251Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.6921557Z               "line": 43
2026-06-03T22:00:56.6921773Z             },
2026-06-03T22:00:56.6921964Z             {
2026-06-03T22:00:56.6922194Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.6922498Z               "line": 315
2026-06-03T22:00:56.6922714Z             }
2026-06-03T22:00:56.6922906Z           ]
2026-06-03T22:00:56.6923094Z         },
2026-06-03T22:00:56.6923282Z         "unit": {
2026-06-03T22:00:56.6923496Z           "complete": true,
2026-06-03T22:00:56.6923733Z           "evidence": [
2026-06-03T22:00:56.6923955Z             {
2026-06-03T22:00:56.6924195Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-03T22:00:56.6924497Z               "line": 176
2026-06-03T22:00:56.6924714Z             }
2026-06-03T22:00:56.6924906Z           ]
2026-06-03T22:00:56.6925095Z         }
2026-06-03T22:00:56.6925284Z       }
2026-06-03T22:00:56.6925471Z     },
2026-06-03T22:00:56.6925653Z     {
2026-06-03T22:00:56.6925851Z       "id": "REQ-DAEMON-4",
2026-06-03T22:00:56.6926128Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-03T22:00:56.6926433Z       "requiredStages": [
2026-06-03T22:00:56.6926653Z         "impl",
2026-06-03T22:00:56.6926841Z         "unit",
2026-06-03T22:00:56.6927037Z         "int"
2026-06-03T22:00:56.6927223Z       ],
2026-06-03T22:00:56.6927416Z       "stages": {
2026-06-03T22:00:56.6927618Z         "doc": {
2026-06-03T22:00:56.6927823Z           "complete": false,
2026-06-03T22:00:56.6928061Z           "evidence": []
2026-06-03T22:00:56.6928276Z         },
2026-06-03T22:00:56.6928464Z         "impl": {
2026-06-03T22:00:56.6928681Z           "complete": true,
2026-06-03T22:00:56.6928918Z           "evidence": [
2026-06-03T22:00:56.6929140Z             {
2026-06-03T22:00:56.6929635Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6930068Z               "line": 262
2026-06-03T22:00:56.6930294Z             },
2026-06-03T22:00:56.6930489Z             {
2026-06-03T22:00:56.6930732Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6931044Z               "line": 324
2026-06-03T22:00:56.6931265Z             },
2026-06-03T22:00:56.6931466Z             {
2026-06-03T22:00:56.6931710Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6932014Z               "line": 346
2026-06-03T22:00:56.6932233Z             }
2026-06-03T22:00:56.6932426Z           ]
2026-06-03T22:00:56.6932615Z         },
2026-06-03T22:00:56.6932803Z         "int": {
2026-06-03T22:00:56.6933016Z           "complete": true,
2026-06-03T22:00:56.6933449Z           "evidence": [
2026-06-03T22:00:56.6933775Z             {
2026-06-03T22:00:56.6934025Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-03T22:00:56.6934342Z               "line": 34
2026-06-03T22:00:56.6934562Z             }
2026-06-03T22:00:56.6934753Z           ]
2026-06-03T22:00:56.6934942Z         },
2026-06-03T22:00:56.6935137Z         "unit": {
2026-06-03T22:00:56.6935357Z           "complete": true,
2026-06-03T22:00:56.6935599Z           "evidence": [
2026-06-03T22:00:56.6935824Z             {
2026-06-03T22:00:56.6936063Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T22:00:56.6936371Z               "line": 194
2026-06-03T22:00:56.6936596Z             },
2026-06-03T22:00:56.6936792Z             {
2026-06-03T22:00:56.6937035Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6937342Z               "line": 533
2026-06-03T22:00:56.6937565Z             },
2026-06-03T22:00:56.6937777Z             {
2026-06-03T22:00:56.6938021Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6938334Z               "line": 584
2026-06-03T22:00:56.6938557Z             },
2026-06-03T22:00:56.6938748Z             {
2026-06-03T22:00:56.6938983Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6939289Z               "line": 608
2026-06-03T22:00:56.6939703Z             },
2026-06-03T22:00:56.6939906Z             {
2026-06-03T22:00:56.6940140Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.6940444Z               "line": 638
2026-06-03T22:00:56.6940663Z             }
2026-06-03T22:00:56.6940853Z           ]
2026-06-03T22:00:56.6941037Z         }
2026-06-03T22:00:56.6941225Z       }
2026-06-03T22:00:56.6941410Z     },
2026-06-03T22:00:56.6941592Z     {
2026-06-03T22:00:56.6941800Z       "id": "REQ-DOCS-1",
2026-06-03T22:00:56.6942175Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-03T22:00:56.6942611Z       "requiredStages": [],
2026-06-03T22:00:56.6942854Z       "stages": {
2026-06-03T22:00:56.6943063Z         "doc": {
2026-06-03T22:00:56.6943276Z           "complete": false,
2026-06-03T22:00:56.6943516Z           "evidence": []
2026-06-03T22:00:56.6943738Z         },
2026-06-03T22:00:56.6943936Z         "impl": {
2026-06-03T22:00:56.6944148Z           "complete": false,
2026-06-03T22:00:56.6944390Z           "evidence": []
2026-06-03T22:00:56.6944613Z         },
2026-06-03T22:00:56.6944807Z         "int": {
2026-06-03T22:00:56.6945020Z           "complete": false,
2026-06-03T22:00:56.6945258Z           "evidence": []
2026-06-03T22:00:56.6945475Z         },
2026-06-03T22:00:56.6945664Z         "unit": {
2026-06-03T22:00:56.6945882Z           "complete": false,
2026-06-03T22:00:56.6946119Z           "evidence": []
2026-06-03T22:00:56.6946335Z         }
2026-06-03T22:00:56.6946522Z       }
2026-06-03T22:00:56.6960178Z     },
2026-06-03T22:00:56.6960416Z     {
2026-06-03T22:00:56.6960641Z       "id": "REQ-DOCS-2",
2026-06-03T22:00:56.6961017Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-03T22:00:56.6961410Z       "requiredStages": [],
2026-06-03T22:00:56.6961663Z       "stages": {
2026-06-03T22:00:56.6961872Z         "doc": {
2026-06-03T22:00:56.6962086Z           "complete": false,
2026-06-03T22:00:56.6962341Z           "evidence": []
2026-06-03T22:00:56.6962566Z         },
2026-06-03T22:00:56.6962760Z         "impl": {
2026-06-03T22:00:56.6962977Z           "complete": false,
2026-06-03T22:00:56.6963216Z           "evidence": []
2026-06-03T22:00:56.6963438Z         },
2026-06-03T22:00:56.6963633Z         "int": {
2026-06-03T22:00:56.6963843Z           "complete": false,
2026-06-03T22:00:56.6964078Z           "evidence": []
2026-06-03T22:00:56.6964297Z         },
2026-06-03T22:00:56.6964489Z         "unit": {
2026-06-03T22:00:56.6964698Z           "complete": false,
2026-06-03T22:00:56.6964945Z           "evidence": []
2026-06-03T22:00:56.6965347Z         }
2026-06-03T22:00:56.6965546Z       }
2026-06-03T22:00:56.6965841Z     },
2026-06-03T22:00:56.6966024Z     {
2026-06-03T22:00:56.6966222Z       "id": "REQ-DOCS-3",
2026-06-03T22:00:56.6966915Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-03T22:00:56.6967295Z       "requiredStages": [],
2026-06-03T22:00:56.6967543Z       "stages": {
2026-06-03T22:00:56.6967752Z         "doc": {
2026-06-03T22:00:56.6967965Z           "complete": false,
2026-06-03T22:00:56.6968211Z           "evidence": []
2026-06-03T22:00:56.6968429Z         },
2026-06-03T22:00:56.6968619Z         "impl": {
2026-06-03T22:00:56.6968831Z           "complete": false,
2026-06-03T22:00:56.6969068Z           "evidence": []
2026-06-03T22:00:56.6969285Z         },
2026-06-03T22:00:56.6969684Z         "int": {
2026-06-03T22:00:56.6969900Z           "complete": false,
2026-06-03T22:00:56.6970138Z           "evidence": []
2026-06-03T22:00:56.6970357Z         },
2026-06-03T22:00:56.6970548Z         "unit": {
2026-06-03T22:00:56.6970769Z           "complete": false,
2026-06-03T22:00:56.6971012Z           "evidence": []
2026-06-03T22:00:56.6971228Z         }
2026-06-03T22:00:56.6971410Z       }
2026-06-03T22:00:56.6971590Z     },
2026-06-03T22:00:56.6971771Z     {
2026-06-03T22:00:56.6971974Z       "id": "REQ-DOCS-4",
2026-06-03T22:00:56.6972361Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-03T22:00:56.6972783Z       "requiredStages": [],
2026-06-03T22:00:56.6973019Z       "stages": {
2026-06-03T22:00:56.6973219Z         "doc": {
2026-06-03T22:00:56.6973432Z           "complete": false,
2026-06-03T22:00:56.6973671Z           "evidence": []
2026-06-03T22:00:56.6973894Z         },
2026-06-03T22:00:56.6974084Z         "impl": {
2026-06-03T22:00:56.6974307Z           "complete": false,
2026-06-03T22:00:56.6974549Z           "evidence": []
2026-06-03T22:00:56.6974765Z         },
2026-06-03T22:00:56.6974954Z         "int": {
2026-06-03T22:00:56.6975169Z           "complete": false,
2026-06-03T22:00:56.6975419Z           "evidence": []
2026-06-03T22:00:56.6975644Z         },
2026-06-03T22:00:56.6975830Z         "unit": {
2026-06-03T22:00:56.6976038Z           "complete": false,
2026-06-03T22:00:56.6976279Z           "evidence": []
2026-06-03T22:00:56.6976497Z         }
2026-06-03T22:00:56.6976681Z       }
2026-06-03T22:00:56.6976866Z     },
2026-06-03T22:00:56.6977050Z     {
2026-06-03T22:00:56.6977246Z       "id": "REQ-DOCS-5",
2026-06-03T22:00:56.6977623Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-03T22:00:56.6978047Z       "requiredStages": [],
2026-06-03T22:00:56.6978289Z       "stages": {
2026-06-03T22:00:56.6978490Z         "doc": {
2026-06-03T22:00:56.6978698Z           "complete": false,
2026-06-03T22:00:56.6978933Z           "evidence": []
2026-06-03T22:00:56.6979148Z         },
2026-06-03T22:00:56.6979456Z         "impl": {
2026-06-03T22:00:56.6979672Z           "complete": false,
2026-06-03T22:00:56.6979913Z           "evidence": []
2026-06-03T22:00:56.6980137Z         },
2026-06-03T22:00:56.6980334Z         "int": {
2026-06-03T22:00:56.6980545Z           "complete": false,
2026-06-03T22:00:56.6980781Z           "evidence": []
2026-06-03T22:00:56.6980998Z         },
2026-06-03T22:00:56.6981186Z         "unit": {
2026-06-03T22:00:56.6981393Z           "complete": false,
2026-06-03T22:00:56.6981629Z           "evidence": []
2026-06-03T22:00:56.6981847Z         }
2026-06-03T22:00:56.6982034Z       }
2026-06-03T22:00:56.6982222Z     },
2026-06-03T22:00:56.6982402Z     {
2026-06-03T22:00:56.6982596Z       "id": "REQ-EP-1",
2026-06-03T22:00:56.6982879Z       "title": "Day-one endpoint types; open type system",
2026-06-03T22:00:56.6983205Z       "requiredStages": [
2026-06-03T22:00:56.6983435Z         "impl",
2026-06-03T22:00:56.6983639Z         "unit"
2026-06-03T22:00:56.6983842Z       ],
2026-06-03T22:00:56.6984035Z       "stages": {
2026-06-03T22:00:56.6984248Z         "doc": {
2026-06-03T22:00:56.6984460Z           "complete": false,
2026-06-03T22:00:56.6984844Z           "evidence": []
2026-06-03T22:00:56.6985168Z         },
2026-06-03T22:00:56.6985357Z         "impl": {
2026-06-03T22:00:56.6985568Z           "complete": true,
2026-06-03T22:00:56.6985802Z           "evidence": [
2026-06-03T22:00:56.6986018Z             {
2026-06-03T22:00:56.6987197Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.6987586Z               "line": 77
2026-06-03T22:00:56.6987813Z             },
2026-06-03T22:00:56.6988015Z             {
2026-06-03T22:00:56.6988268Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.6988602Z               "line": 94
2026-06-03T22:00:56.6988822Z             }
2026-06-03T22:00:56.6989017Z           ]
2026-06-03T22:00:56.6989202Z         },
2026-06-03T22:00:56.6989698Z         "int": {
2026-06-03T22:00:56.6990038Z           "complete": false,
2026-06-03T22:00:56.6990290Z           "evidence": []
2026-06-03T22:00:56.6990513Z         },
2026-06-03T22:00:56.6990701Z         "unit": {
2026-06-03T22:00:56.6990922Z           "complete": true,
2026-06-03T22:00:56.6991169Z           "evidence": [
2026-06-03T22:00:56.6991381Z             {
2026-06-03T22:00:56.6991633Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.6991945Z               "line": 161
2026-06-03T22:00:56.6992163Z             },
2026-06-03T22:00:56.6992359Z             {
2026-06-03T22:00:56.6992595Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.6992914Z               "line": 178
2026-06-03T22:00:56.6993129Z             }
2026-06-03T22:00:56.6993321Z           ]
2026-06-03T22:00:56.6993510Z         }
2026-06-03T22:00:56.6993738Z       }
2026-06-03T22:00:56.6993925Z     },
2026-06-03T22:00:56.6994106Z     {
2026-06-03T22:00:56.6994302Z       "id": "REQ-EP-2",
2026-06-03T22:00:56.6994631Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-03T22:00:56.6995008Z       "requiredStages": [
2026-06-03T22:00:56.6995235Z         "impl",
2026-06-03T22:00:56.6995445Z         "unit"
2026-06-03T22:00:56.6995653Z       ],
2026-06-03T22:00:56.6995842Z       "stages": {
2026-06-03T22:00:56.6996046Z         "doc": {
2026-06-03T22:00:56.6996262Z           "complete": false,
2026-06-03T22:00:56.6996500Z           "evidence": []
2026-06-03T22:00:56.6996718Z         },
2026-06-03T22:00:56.6996910Z         "impl": {
2026-06-03T22:00:56.6997121Z           "complete": true,
2026-06-03T22:00:56.6997355Z           "evidence": [
2026-06-03T22:00:56.6997570Z             {
2026-06-03T22:00:56.6997806Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.6998108Z               "line": 114
2026-06-03T22:00:56.6998321Z             },
2026-06-03T22:00:56.6998515Z             {
2026-06-03T22:00:56.6998749Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.6999047Z               "line": 131
2026-06-03T22:00:56.6999261Z             },
2026-06-03T22:00:56.6999606Z             {
2026-06-03T22:00:56.6999862Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.7000175Z               "line": 138
2026-06-03T22:00:56.7000389Z             }
2026-06-03T22:00:56.7000576Z           ]
2026-06-03T22:00:56.7000761Z         },
2026-06-03T22:00:56.7000946Z         "int": {
2026-06-03T22:00:56.7001155Z           "complete": false,
2026-06-03T22:00:56.7001394Z           "evidence": []
2026-06-03T22:00:56.7001608Z         },
2026-06-03T22:00:56.7001790Z         "unit": {
2026-06-03T22:00:56.7001995Z           "complete": true,
2026-06-03T22:00:56.7002228Z           "evidence": [
2026-06-03T22:00:56.7002440Z             {
2026-06-03T22:00:56.7002670Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.7002966Z               "line": 193
2026-06-03T22:00:56.7003188Z             },
2026-06-03T22:00:56.7003378Z             {
2026-06-03T22:00:56.7003612Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.7003906Z               "line": 211
2026-06-03T22:00:56.7004117Z             },
2026-06-03T22:00:56.7004470Z             {
2026-06-03T22:00:56.7004804Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-03T22:00:56.7005099Z               "line": 224
2026-06-03T22:00:56.7005317Z             }
2026-06-03T22:00:56.7005505Z           ]
2026-06-03T22:00:56.7005688Z         }
2026-06-03T22:00:56.7005866Z       }
2026-06-03T22:00:56.7006047Z     },
2026-06-03T22:00:56.7006224Z     {
2026-06-03T22:00:56.7006413Z       "id": "REQ-EP-3",
2026-06-03T22:00:56.7006758Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-03T22:00:56.7007157Z       "requiredStages": [
2026-06-03T22:00:56.7007389Z         "impl",
2026-06-03T22:00:56.7007587Z         "unit"
2026-06-03T22:00:56.7007777Z       ],
2026-06-03T22:00:56.7007961Z       "stages": {
2026-06-03T22:00:56.7008157Z         "doc": {
2026-06-03T22:00:56.7008361Z           "complete": false,
2026-06-03T22:00:56.7008598Z           "evidence": []
2026-06-03T22:00:56.7008810Z         },
2026-06-03T22:00:56.7009011Z         "impl": {
2026-06-03T22:00:56.7009224Z           "complete": true,
2026-06-03T22:00:56.7009584Z           "evidence": [
2026-06-03T22:00:56.7009799Z             {
2026-06-03T22:00:56.7010036Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T22:00:56.7010337Z               "line": 31
2026-06-03T22:00:56.7010547Z             },
2026-06-03T22:00:56.7010768Z             {
2026-06-03T22:00:56.7010999Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T22:00:56.7011297Z               "line": 49
2026-06-03T22:00:56.7011509Z             }
2026-06-03T22:00:56.7011697Z           ]
2026-06-03T22:00:56.7011878Z         },
2026-06-03T22:00:56.7012060Z         "int": {
2026-06-03T22:00:56.7012266Z           "complete": false,
2026-06-03T22:00:56.7012499Z           "evidence": []
2026-06-03T22:00:56.7012716Z         },
2026-06-03T22:00:56.7012904Z         "unit": {
2026-06-03T22:00:56.7013113Z           "complete": true,
2026-06-03T22:00:56.7013338Z           "evidence": [
2026-06-03T22:00:56.7013554Z             {
2026-06-03T22:00:56.7013799Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T22:00:56.7014096Z               "line": 156
2026-06-03T22:00:56.7014311Z             },
2026-06-03T22:00:56.7014500Z             {
2026-06-03T22:00:56.7014725Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T22:00:56.7015018Z               "line": 164
2026-06-03T22:00:56.7015228Z             },
2026-06-03T22:00:56.7015413Z             {
2026-06-03T22:00:56.7015650Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T22:00:56.7015946Z               "line": 177
2026-06-03T22:00:56.7016159Z             },
2026-06-03T22:00:56.7016348Z             {
2026-06-03T22:00:56.7016577Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T22:00:56.7016878Z               "line": 197
2026-06-03T22:00:56.7017090Z             },
2026-06-03T22:00:56.7017276Z             {
2026-06-03T22:00:56.7017503Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T22:00:56.7017802Z               "line": 213
2026-06-03T22:00:56.7018016Z             },
2026-06-03T22:00:56.7018200Z             {
2026-06-03T22:00:56.7018428Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-03T22:00:56.7018722Z               "line": 227
2026-06-03T22:00:56.7018934Z             }
2026-06-03T22:00:56.7019120Z           ]
2026-06-03T22:00:56.7019300Z         }
2026-06-03T22:00:56.7019601Z       }
2026-06-03T22:00:56.7019776Z     },
2026-06-03T22:00:56.7019952Z     {
2026-06-03T22:00:56.7020141Z       "id": "REQ-EP-4",
2026-06-03T22:00:56.7020435Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-03T22:00:56.7020785Z       "requiredStages": [],
2026-06-03T22:00:56.7021012Z       "stages": {
2026-06-03T22:00:56.7021209Z         "doc": {
2026-06-03T22:00:56.7021416Z           "complete": false,
2026-06-03T22:00:56.7021650Z           "evidence": []
2026-06-03T22:00:56.7021862Z         },
2026-06-03T22:00:56.7022181Z         "impl": {
2026-06-03T22:00:56.7022388Z           "complete": false,
2026-06-03T22:00:56.7022748Z           "evidence": []
2026-06-03T22:00:56.7022963Z         },
2026-06-03T22:00:56.7023152Z         "int": {
2026-06-03T22:00:56.7023354Z           "complete": false,
2026-06-03T22:00:56.7023580Z           "evidence": []
2026-06-03T22:00:56.7023790Z         },
2026-06-03T22:00:56.7023969Z         "unit": {
2026-06-03T22:00:56.7024176Z           "complete": false,
2026-06-03T22:00:56.7024407Z           "evidence": []
2026-06-03T22:00:56.7024624Z         }
2026-06-03T22:00:56.7024808Z       }
2026-06-03T22:00:56.7024984Z     },
2026-06-03T22:00:56.7025062Z     {
2026-06-03T22:00:56.7025153Z       "id": "REQ-EP-5",
2026-06-03T22:00:56.7025992Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-03T22:00:56.7026098Z       "requiredStages": [],
2026-06-03T22:00:56.7026190Z       "stages": {
2026-06-03T22:00:56.7026272Z         "doc": {
2026-06-03T22:00:56.7026367Z           "complete": false,
2026-06-03T22:00:56.7026453Z           "evidence": []
2026-06-03T22:00:56.7026535Z         },
2026-06-03T22:00:56.7026621Z         "impl": {
2026-06-03T22:00:56.7026710Z           "complete": false,
2026-06-03T22:00:56.7026799Z           "evidence": []
2026-06-03T22:00:56.7026877Z         },
2026-06-03T22:00:56.7026961Z         "int": {
2026-06-03T22:00:56.7027051Z           "complete": false,
2026-06-03T22:00:56.7027140Z           "evidence": []
2026-06-03T22:00:56.7027222Z         },
2026-06-03T22:00:56.7027303Z         "unit": {
2026-06-03T22:00:56.7027393Z           "complete": false,
2026-06-03T22:00:56.7027480Z           "evidence": []
2026-06-03T22:00:56.7027563Z         }
2026-06-03T22:00:56.7027642Z       }
2026-06-03T22:00:56.7027725Z     },
2026-06-03T22:00:56.7027804Z     {
2026-06-03T22:00:56.7027902Z       "id": "REQ-FRONT-1",
2026-06-03T22:00:56.7028114Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-03T22:00:56.7028214Z       "requiredStages": [],
2026-06-03T22:00:56.7028301Z       "stages": {
2026-06-03T22:00:56.7028382Z         "doc": {
2026-06-03T22:00:56.7028477Z           "complete": false,
2026-06-03T22:00:56.7028566Z           "evidence": []
2026-06-03T22:00:56.7028645Z         },
2026-06-03T22:00:56.7028728Z         "impl": {
2026-06-03T22:00:56.7028818Z           "complete": false,
2026-06-03T22:00:56.7028909Z           "evidence": []
2026-06-03T22:00:56.7028987Z         },
2026-06-03T22:00:56.7029071Z         "int": {
2026-06-03T22:00:56.7029163Z           "complete": false,
2026-06-03T22:00:56.7029249Z           "evidence": []
2026-06-03T22:00:56.7029450Z         },
2026-06-03T22:00:56.7029535Z         "unit": {
2026-06-03T22:00:56.7029628Z           "complete": false,
2026-06-03T22:00:56.7029714Z           "evidence": []
2026-06-03T22:00:56.7029797Z         }
2026-06-03T22:00:56.7029881Z       }
2026-06-03T22:00:56.7029969Z     },
2026-06-03T22:00:56.7030052Z     {
2026-06-03T22:00:56.7030177Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-03T22:00:56.7030378Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-03T22:00:56.7030470Z       "requiredStages": [
2026-06-03T22:00:56.7030558Z         "impl",
2026-06-03T22:00:56.7030643Z         "unit"
2026-06-03T22:00:56.7030720Z       ],
2026-06-03T22:00:56.7030805Z       "stages": {
2026-06-03T22:00:56.7030888Z         "doc": {
2026-06-03T22:00:56.7030978Z           "complete": false,
2026-06-03T22:00:56.7031063Z           "evidence": []
2026-06-03T22:00:56.7031145Z         },
2026-06-03T22:00:56.7031226Z         "impl": {
2026-06-03T22:00:56.7031315Z           "complete": true,
2026-06-03T22:00:56.7031403Z           "evidence": [
2026-06-03T22:00:56.7031482Z             {
2026-06-03T22:00:56.7031616Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.7031825Z               "line": 60
2026-06-03T22:00:56.7031910Z             },
2026-06-03T22:00:56.7032095Z             {
2026-06-03T22:00:56.7032216Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.7032302Z               "line": 18
2026-06-03T22:00:56.7032380Z             },
2026-06-03T22:00:56.7032461Z             {
2026-06-03T22:00:56.7032576Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.7032663Z               "line": 94
2026-06-03T22:00:56.7032744Z             }
2026-06-03T22:00:56.7032822Z           ]
2026-06-03T22:00:56.7032904Z         },
2026-06-03T22:00:56.7032984Z         "int": {
2026-06-03T22:00:56.7033081Z           "complete": false,
2026-06-03T22:00:56.7033169Z           "evidence": []
2026-06-03T22:00:56.7033253Z         },
2026-06-03T22:00:56.7033338Z         "unit": {
2026-06-03T22:00:56.7033430Z           "complete": true,
2026-06-03T22:00:56.7033522Z           "evidence": [
2026-06-03T22:00:56.7033601Z             {
2026-06-03T22:00:56.7033738Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.7033831Z               "line": 255
2026-06-03T22:00:56.7033914Z             },
2026-06-03T22:00:56.7033995Z             {
2026-06-03T22:00:56.7034108Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.7034195Z               "line": 152
2026-06-03T22:00:56.7034273Z             },
2026-06-03T22:00:56.7034353Z             {
2026-06-03T22:00:56.7034466Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.7034555Z               "line": 188
2026-06-03T22:00:56.7034637Z             }
2026-06-03T22:00:56.7034716Z           ]
2026-06-03T22:00:56.7034799Z         }
2026-06-03T22:00:56.7034878Z       }
2026-06-03T22:00:56.7034958Z     },
2026-06-03T22:00:56.7035035Z     {
2026-06-03T22:00:56.7035150Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-03T22:00:56.7035406Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-03T22:00:56.7035499Z       "requiredStages": [
2026-06-03T22:00:56.7035589Z         "impl",
2026-06-03T22:00:56.7035675Z         "unit"
2026-06-03T22:00:56.7035763Z       ],
2026-06-03T22:00:56.7035848Z       "stages": {
2026-06-03T22:00:56.7035934Z         "doc": {
2026-06-03T22:00:56.7036031Z           "complete": false,
2026-06-03T22:00:56.7036120Z           "evidence": []
2026-06-03T22:00:56.7036204Z         },
2026-06-03T22:00:56.7036286Z         "impl": {
2026-06-03T22:00:56.7036384Z           "complete": true,
2026-06-03T22:00:56.7036471Z           "evidence": [
2026-06-03T22:00:56.7036556Z             {
2026-06-03T22:00:56.7036686Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T22:00:56.7036774Z               "line": 164
2026-06-03T22:00:56.7036859Z             }
2026-06-03T22:00:56.7036939Z           ]
2026-06-03T22:00:56.7037020Z         },
2026-06-03T22:00:56.7037101Z         "int": {
2026-06-03T22:00:56.7037197Z           "complete": true,
2026-06-03T22:00:56.7037286Z           "evidence": [
2026-06-03T22:00:56.7037371Z             {
2026-06-03T22:00:56.7037498Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-03T22:00:56.7037591Z               "line": 44
2026-06-03T22:00:56.7037674Z             },
2026-06-03T22:00:56.7037753Z             {
2026-06-03T22:00:56.7037873Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-03T22:00:56.7037961Z               "line": 66
2026-06-03T22:00:56.7038040Z             }
2026-06-03T22:00:56.7038124Z           ]
2026-06-03T22:00:56.7038203Z         },
2026-06-03T22:00:56.7038290Z         "unit": {
2026-06-03T22:00:56.7038378Z           "complete": true,
2026-06-03T22:00:56.7038469Z           "evidence": [
2026-06-03T22:00:56.7038553Z             {
2026-06-03T22:00:56.7038673Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T22:00:56.7038765Z               "line": 181
2026-06-03T22:00:56.7038845Z             },
2026-06-03T22:00:56.7038929Z             {
2026-06-03T22:00:56.7039047Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T22:00:56.7039231Z               "line": 233
2026-06-03T22:00:56.7039511Z             },
2026-06-03T22:00:56.7039597Z             {
2026-06-03T22:00:56.7039723Z               "path": "crates/spt-term/src/reader.rs",
2026-06-03T22:00:56.7039810Z               "line": 261
2026-06-03T22:00:56.7039894Z             }
2026-06-03T22:00:56.7039976Z           ]
2026-06-03T22:00:56.7040060Z         }
2026-06-03T22:00:56.7040143Z       }
2026-06-03T22:00:56.7040220Z     },
2026-06-03T22:00:56.7040303Z     {
2026-06-03T22:00:56.7040437Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-03T22:00:56.7040983Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-03T22:00:56.7041079Z       "requiredStages": [
2026-06-03T22:00:56.7041170Z         "impl",
2026-06-03T22:00:56.7041257Z         "unit",
2026-06-03T22:00:56.7041340Z         "int"
2026-06-03T22:00:56.7041424Z       ],
2026-06-03T22:00:56.7041513Z       "stages": {
2026-06-03T22:00:56.7041605Z         "doc": {
2026-06-03T22:00:56.7041699Z           "complete": false,
2026-06-03T22:00:56.7041794Z           "evidence": []
2026-06-03T22:00:56.7041878Z         },
2026-06-03T22:00:56.7041961Z         "impl": {
2026-06-03T22:00:56.7042055Z           "complete": true,
2026-06-03T22:00:56.7042143Z           "evidence": [
2026-06-03T22:00:56.7042228Z             {
2026-06-03T22:00:56.7042373Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.7042466Z               "line": 133
2026-06-03T22:00:56.7042552Z             },
2026-06-03T22:00:56.7042632Z             {
2026-06-03T22:00:56.7042771Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.7042858Z               "line": 152
2026-06-03T22:00:56.7042945Z             },
2026-06-03T22:00:56.7043025Z             {
2026-06-03T22:00:56.7043152Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7043246Z               "line": 79
2026-06-03T22:00:56.7043331Z             },
2026-06-03T22:00:56.7043421Z             {
2026-06-03T22:00:56.7043538Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7043631Z               "line": 51
2026-06-03T22:00:56.7043714Z             },
2026-06-03T22:00:56.7043799Z             {
2026-06-03T22:00:56.7043922Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7044007Z               "line": 93
2026-06-03T22:00:56.7044091Z             },
2026-06-03T22:00:56.7044174Z             {
2026-06-03T22:00:56.7044308Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T22:00:56.7044400Z               "line": 27
2026-06-03T22:00:56.7044479Z             },
2026-06-03T22:00:56.7044563Z             {
2026-06-03T22:00:56.7044688Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T22:00:56.7044783Z               "line": 79
2026-06-03T22:00:56.7044874Z             },
2026-06-03T22:00:56.7044959Z             {
2026-06-03T22:00:56.7045092Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T22:00:56.7045183Z               "line": 102
2026-06-03T22:00:56.7045265Z             },
2026-06-03T22:00:56.7045343Z             {
2026-06-03T22:00:56.7045467Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7045553Z               "line": 102
2026-06-03T22:00:56.7045636Z             }
2026-06-03T22:00:56.7045720Z           ]
2026-06-03T22:00:56.7045799Z         },
2026-06-03T22:00:56.7045884Z         "int": {
2026-06-03T22:00:56.7045977Z           "complete": true,
2026-06-03T22:00:56.7046069Z           "evidence": [
2026-06-03T22:00:56.7046147Z             {
2026-06-03T22:00:56.7046289Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-03T22:00:56.7046380Z               "line": 35
2026-06-03T22:00:56.7046458Z             }
2026-06-03T22:00:56.7046541Z           ]
2026-06-03T22:00:56.7046620Z         },
2026-06-03T22:00:56.7046706Z         "unit": {
2026-06-03T22:00:56.7046922Z           "complete": true,
2026-06-03T22:00:56.7047012Z           "evidence": [
2026-06-03T22:00:56.7047236Z             {
2026-06-03T22:00:56.7047366Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.7047457Z               "line": 467
2026-06-03T22:00:56.7047537Z             },
2026-06-03T22:00:56.7047620Z             {
2026-06-03T22:00:56.7047742Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7047834Z               "line": 212
2026-06-03T22:00:56.7047919Z             },
2026-06-03T22:00:56.7048000Z             {
2026-06-03T22:00:56.7048132Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T22:00:56.7048219Z               "line": 124
2026-06-03T22:00:56.7048303Z             },
2026-06-03T22:00:56.7048382Z             {
2026-06-03T22:00:56.7048511Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T22:00:56.7048605Z               "line": 136
2026-06-03T22:00:56.7048687Z             },
2026-06-03T22:00:56.7048780Z             {
2026-06-03T22:00:56.7048901Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T22:00:56.7048998Z               "line": 146
2026-06-03T22:00:56.7049078Z             },
2026-06-03T22:00:56.7049161Z             {
2026-06-03T22:00:56.7049284Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T22:00:56.7049488Z               "line": 159
2026-06-03T22:00:56.7049576Z             },
2026-06-03T22:00:56.7049656Z             {
2026-06-03T22:00:56.7049785Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-03T22:00:56.7049874Z               "line": 171
2026-06-03T22:00:56.7049959Z             },
2026-06-03T22:00:56.7050043Z             {
2026-06-03T22:00:56.7050166Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7050257Z               "line": 201
2026-06-03T22:00:56.7050337Z             }
2026-06-03T22:00:56.7050421Z           ]
2026-06-03T22:00:56.7050500Z         }
2026-06-03T22:00:56.7050586Z       }
2026-06-03T22:00:56.7050676Z     },
2026-06-03T22:00:56.7050756Z     {
2026-06-03T22:00:56.7050899Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-03T22:00:56.7051732Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-03T22:00:56.7051833Z       "requiredStages": [],
2026-06-03T22:00:56.7051925Z       "stages": {
2026-06-03T22:00:56.7052006Z         "doc": {
2026-06-03T22:00:56.7052104Z           "complete": false,
2026-06-03T22:00:56.7052193Z           "evidence": []
2026-06-03T22:00:56.7052279Z         },
2026-06-03T22:00:56.7052362Z         "impl": {
2026-06-03T22:00:56.7052457Z           "complete": false,
2026-06-03T22:00:56.7052550Z           "evidence": []
2026-06-03T22:00:56.7052631Z         },
2026-06-03T22:00:56.7052718Z         "int": {
2026-06-03T22:00:56.7052809Z           "complete": false,
2026-06-03T22:00:56.7052909Z           "evidence": []
2026-06-03T22:00:56.7052993Z         },
2026-06-03T22:00:56.7053081Z         "unit": {
2026-06-03T22:00:56.7053175Z           "complete": false,
2026-06-03T22:00:56.7053263Z           "evidence": []
2026-06-03T22:00:56.7053347Z         }
2026-06-03T22:00:56.7053425Z       }
2026-06-03T22:00:56.7053510Z     },
2026-06-03T22:00:56.7053591Z     {
2026-06-03T22:00:56.7053706Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-03T22:00:56.7053928Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-03T22:00:56.7054024Z       "requiredStages": [
2026-06-03T22:00:56.7054114Z         "impl",
2026-06-03T22:00:56.7054194Z         "unit"
2026-06-03T22:00:56.7054277Z       ],
2026-06-03T22:00:56.7054361Z       "stages": {
2026-06-03T22:00:56.7054447Z         "doc": {
2026-06-03T22:00:56.7054542Z           "complete": false,
2026-06-03T22:00:56.7054629Z           "evidence": []
2026-06-03T22:00:56.7054710Z         },
2026-06-03T22:00:56.7054914Z         "impl": {
2026-06-03T22:00:56.7055006Z           "complete": true,
2026-06-03T22:00:56.7055198Z           "evidence": [
2026-06-03T22:00:56.7055283Z             {
2026-06-03T22:00:56.7055416Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7055502Z               "line": 40
2026-06-03T22:00:56.7055586Z             },
2026-06-03T22:00:56.7055665Z             {
2026-06-03T22:00:56.7055794Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7055878Z               "line": 88
2026-06-03T22:00:56.7055965Z             },
2026-06-03T22:00:56.7056049Z             {
2026-06-03T22:00:56.7056168Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7056260Z               "line": 133
2026-06-03T22:00:56.7056341Z             },
2026-06-03T22:00:56.7056427Z             {
2026-06-03T22:00:56.7056547Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7056637Z               "line": 215
2026-06-03T22:00:56.7056725Z             }
2026-06-03T22:00:56.7056804Z           ]
2026-06-03T22:00:56.7056894Z         },
2026-06-03T22:00:56.7056975Z         "int": {
2026-06-03T22:00:56.7057069Z           "complete": false,
2026-06-03T22:00:56.7057155Z           "evidence": []
2026-06-03T22:00:56.7057239Z         },
2026-06-03T22:00:56.7057324Z         "unit": {
2026-06-03T22:00:56.7057412Z           "complete": true,
2026-06-03T22:00:56.7057502Z           "evidence": [
2026-06-03T22:00:56.7057581Z             {
2026-06-03T22:00:56.7057705Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7057794Z               "line": 250
2026-06-03T22:00:56.7057879Z             },
2026-06-03T22:00:56.7057963Z             {
2026-06-03T22:00:56.7058079Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7058170Z               "line": 296
2026-06-03T22:00:56.7058252Z             },
2026-06-03T22:00:56.7058337Z             {
2026-06-03T22:00:56.7058450Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7058545Z               "line": 337
2026-06-03T22:00:56.7058633Z             },
2026-06-03T22:00:56.7058712Z             {
2026-06-03T22:00:56.7058829Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7058917Z               "line": 356
2026-06-03T22:00:56.7059002Z             }
2026-06-03T22:00:56.7059081Z           ]
2026-06-03T22:00:56.7059166Z         }
2026-06-03T22:00:56.7059251Z       }
2026-06-03T22:00:56.7059446Z     },
2026-06-03T22:00:56.7059533Z     {
2026-06-03T22:00:56.7059667Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-03T22:00:56.7059809Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-03T22:00:56.7059906Z       "requiredStages": [
2026-06-03T22:00:56.7059994Z         "impl",
2026-06-03T22:00:56.7060080Z         "unit"
2026-06-03T22:00:56.7060159Z       ],
2026-06-03T22:00:56.7060248Z       "stages": {
2026-06-03T22:00:56.7060330Z         "doc": {
2026-06-03T22:00:56.7060424Z           "complete": false,
2026-06-03T22:00:56.7060517Z           "evidence": []
2026-06-03T22:00:56.7060606Z         },
2026-06-03T22:00:56.7060694Z         "impl": {
2026-06-03T22:00:56.7060784Z           "complete": true,
2026-06-03T22:00:56.7060876Z           "evidence": [
2026-06-03T22:00:56.7060955Z             {
2026-06-03T22:00:56.7061078Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7061167Z               "line": 101
2026-06-03T22:00:56.7061254Z             },
2026-06-03T22:00:56.7061342Z             {
2026-06-03T22:00:56.7061460Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7061551Z               "line": 126
2026-06-03T22:00:56.7061632Z             }
2026-06-03T22:00:56.7061719Z           ]
2026-06-03T22:00:56.7061798Z         },
2026-06-03T22:00:56.7061885Z         "int": {
2026-06-03T22:00:56.7061979Z           "complete": false,
2026-06-03T22:00:56.7062067Z           "evidence": []
2026-06-03T22:00:56.7062150Z         },
2026-06-03T22:00:56.7062231Z         "unit": {
2026-06-03T22:00:56.7062446Z           "complete": true,
2026-06-03T22:00:56.7062631Z           "evidence": [
2026-06-03T22:00:56.7062715Z             {
2026-06-03T22:00:56.7062836Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7062922Z               "line": 271
2026-06-03T22:00:56.7063006Z             },
2026-06-03T22:00:56.7063085Z             {
2026-06-03T22:00:56.7063206Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7063293Z               "line": 315
2026-06-03T22:00:56.7063378Z             }
2026-06-03T22:00:56.7063461Z           ]
2026-06-03T22:00:56.7063540Z         }
2026-06-03T22:00:56.7063623Z       }
2026-06-03T22:00:56.7063705Z     },
2026-06-03T22:00:56.7063787Z     {
2026-06-03T22:00:56.7063916Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-03T22:00:56.7064174Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-03T22:00:56.7064273Z       "requiredStages": [
2026-06-03T22:00:56.7064361Z         "impl",
2026-06-03T22:00:56.7064446Z         "unit"
2026-06-03T22:00:56.7064529Z       ],
2026-06-03T22:00:56.7064614Z       "stages": {
2026-06-03T22:00:56.7064692Z         "doc": {
2026-06-03T22:00:56.7064786Z           "complete": false,
2026-06-03T22:00:56.7064880Z           "evidence": []
2026-06-03T22:00:56.7064960Z         },
2026-06-03T22:00:56.7065048Z         "impl": {
2026-06-03T22:00:56.7065139Z           "complete": true,
2026-06-03T22:00:56.7065230Z           "evidence": [
2026-06-03T22:00:56.7065311Z             {
2026-06-03T22:00:56.7065446Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T22:00:56.7065536Z               "line": 21
2026-06-03T22:00:56.7065618Z             },
2026-06-03T22:00:56.7065702Z             {
2026-06-03T22:00:56.7065823Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T22:00:56.7065913Z               "line": 152
2026-06-03T22:00:56.7065994Z             }
2026-06-03T22:00:56.7066074Z           ]
2026-06-03T22:00:56.7066158Z         },
2026-06-03T22:00:56.7066236Z         "int": {
2026-06-03T22:00:56.7066334Z           "complete": false,
2026-06-03T22:00:56.7066422Z           "evidence": []
2026-06-03T22:00:56.7066506Z         },
2026-06-03T22:00:56.7066588Z         "unit": {
2026-06-03T22:00:56.7066682Z           "complete": true,
2026-06-03T22:00:56.7066772Z           "evidence": [
2026-06-03T22:00:56.7066852Z             {
2026-06-03T22:00:56.7066976Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T22:00:56.7067062Z               "line": 169
2026-06-03T22:00:56.7067148Z             },
2026-06-03T22:00:56.7067229Z             {
2026-06-03T22:00:56.7067350Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T22:00:56.7067442Z               "line": 176
2026-06-03T22:00:56.7067522Z             },
2026-06-03T22:00:56.7067603Z             {
2026-06-03T22:00:56.7067721Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T22:00:56.7067812Z               "line": 185
2026-06-03T22:00:56.7067901Z             },
2026-06-03T22:00:56.7067979Z             {
2026-06-03T22:00:56.7068109Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T22:00:56.7068196Z               "line": 194
2026-06-03T22:00:56.7068282Z             },
2026-06-03T22:00:56.7068361Z             {
2026-06-03T22:00:56.7068487Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T22:00:56.7068582Z               "line": 203
2026-06-03T22:00:56.7068663Z             },
2026-06-03T22:00:56.7068748Z             {
2026-06-03T22:00:56.7068866Z               "path": "crates/spt-live/src/context.rs",
2026-06-03T22:00:56.7068958Z               "line": 212
2026-06-03T22:00:56.7069041Z             },
2026-06-03T22:00:56.7069126Z             {
2026-06-03T22:00:56.7069251Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T22:00:56.7069456Z               "line": 132
2026-06-03T22:00:56.7069547Z             },
2026-06-03T22:00:56.7069629Z             {
2026-06-03T22:00:56.7069751Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T22:00:56.7070062Z               "line": 211
2026-06-03T22:00:56.7070148Z             }
2026-06-03T22:00:56.7070232Z           ]
2026-06-03T22:00:56.7070313Z         }
2026-06-03T22:00:56.7070399Z       }
2026-06-03T22:00:56.7070479Z     },
2026-06-03T22:00:56.7070563Z     {
2026-06-03T22:00:56.7070694Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-03T22:00:56.7070868Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-03T22:00:56.7070967Z       "requiredStages": [
2026-06-03T22:00:56.7071049Z         "impl",
2026-06-03T22:00:56.7071133Z         "unit"
2026-06-03T22:00:56.7071212Z       ],
2026-06-03T22:00:56.7071298Z       "stages": {
2026-06-03T22:00:56.7071378Z         "doc": {
2026-06-03T22:00:56.7071473Z           "complete": false,
2026-06-03T22:00:56.7071563Z           "evidence": []
2026-06-03T22:00:56.7071642Z         },
2026-06-03T22:00:56.7071729Z         "impl": {
2026-06-03T22:00:56.7071819Z           "complete": true,
2026-06-03T22:00:56.7071915Z           "evidence": [
2026-06-03T22:00:56.7072001Z             {
2026-06-03T22:00:56.7072128Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T22:00:56.7072219Z               "line": 25
2026-06-03T22:00:56.7072298Z             },
2026-06-03T22:00:56.7072382Z             {
2026-06-03T22:00:56.7072501Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T22:00:56.7072596Z               "line": 13
2026-06-03T22:00:56.7072677Z             },
2026-06-03T22:00:56.7072762Z             {
2026-06-03T22:00:56.7072884Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T22:00:56.7072969Z               "line": 78
2026-06-03T22:00:56.7073055Z             }
2026-06-03T22:00:56.7073136Z           ]
2026-06-03T22:00:56.7073222Z         },
2026-06-03T22:00:56.7073302Z         "int": {
2026-06-03T22:00:56.7073398Z           "complete": false,
2026-06-03T22:00:56.7073491Z           "evidence": []
2026-06-03T22:00:56.7073570Z         },
2026-06-03T22:00:56.7073660Z         "unit": {
2026-06-03T22:00:56.7073750Z           "complete": true,
2026-06-03T22:00:56.7073848Z           "evidence": [
2026-06-03T22:00:56.7073927Z             {
2026-06-03T22:00:56.7074048Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T22:00:56.7074138Z               "line": 180
2026-06-03T22:00:56.7074216Z             },
2026-06-03T22:00:56.7074298Z             {
2026-06-03T22:00:56.7074412Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T22:00:56.7074502Z               "line": 205
2026-06-03T22:00:56.7074581Z             },
2026-06-03T22:00:56.7074666Z             {
2026-06-03T22:00:56.7074788Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-03T22:00:56.7074876Z               "line": 96
2026-06-03T22:00:56.7074960Z             }
2026-06-03T22:00:56.7075040Z           ]
2026-06-03T22:00:56.7075125Z         }
2026-06-03T22:00:56.7075206Z       }
2026-06-03T22:00:56.7075287Z     },
2026-06-03T22:00:56.7075371Z     {
2026-06-03T22:00:56.7075486Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-03T22:00:56.7075682Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-03T22:00:56.7075778Z       "requiredStages": [
2026-06-03T22:00:56.7075865Z         "impl",
2026-06-03T22:00:56.7075947Z         "unit"
2026-06-03T22:00:56.7076030Z       ],
2026-06-03T22:00:56.7076121Z       "stages": {
2026-06-03T22:00:56.7076201Z         "doc": {
2026-06-03T22:00:56.7076297Z           "complete": false,
2026-06-03T22:00:56.7076383Z           "evidence": []
2026-06-03T22:00:56.7076468Z         },
2026-06-03T22:00:56.7076551Z         "impl": {
2026-06-03T22:00:56.7076644Z           "complete": true,
2026-06-03T22:00:56.7076734Z           "evidence": [
2026-06-03T22:00:56.7076813Z             {
2026-06-03T22:00:56.7076935Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7077020Z               "line": 48
2026-06-03T22:00:56.7077103Z             },
2026-06-03T22:00:56.7077182Z             {
2026-06-03T22:00:56.7077391Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7077552Z               "line": 55
2026-06-03T22:00:56.7077631Z             },
2026-06-03T22:00:56.7077713Z             {
2026-06-03T22:00:56.7077832Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7077921Z               "line": 74
2026-06-03T22:00:56.7078001Z             },
2026-06-03T22:00:56.7078082Z             {
2026-06-03T22:00:56.7078202Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7078287Z               "line": 91
2026-06-03T22:00:56.7078369Z             }
2026-06-03T22:00:56.7078447Z           ]
2026-06-03T22:00:56.7078529Z         },
2026-06-03T22:00:56.7078609Z         "int": {
2026-06-03T22:00:56.7078703Z           "complete": false,
2026-06-03T22:00:56.7078793Z           "evidence": []
2026-06-03T22:00:56.7078871Z         },
2026-06-03T22:00:56.7078960Z         "unit": {
2026-06-03T22:00:56.7079050Z           "complete": true,
2026-06-03T22:00:56.7079146Z           "evidence": [
2026-06-03T22:00:56.7079224Z             {
2026-06-03T22:00:56.7079473Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7079568Z               "line": 149
2026-06-03T22:00:56.7079648Z             },
2026-06-03T22:00:56.7079733Z             {
2026-06-03T22:00:56.7079853Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7079945Z               "line": 163
2026-06-03T22:00:56.7080024Z             },
2026-06-03T22:00:56.7080105Z             {
2026-06-03T22:00:56.7080225Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7080311Z               "line": 173
2026-06-03T22:00:56.7080396Z             },
2026-06-03T22:00:56.7080474Z             {
2026-06-03T22:00:56.7080594Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7080680Z               "line": 191
2026-06-03T22:00:56.7080765Z             },
2026-06-03T22:00:56.7080848Z             {
2026-06-03T22:00:56.7080972Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7081076Z               "line": 204
2026-06-03T22:00:56.7081154Z             }
2026-06-03T22:00:56.7081240Z           ]
2026-06-03T22:00:56.7081317Z         }
2026-06-03T22:00:56.7081401Z       }
2026-06-03T22:00:56.7081483Z     },
2026-06-03T22:00:56.7081561Z     {
2026-06-03T22:00:56.7081693Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-03T22:00:56.7081922Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-03T22:00:56.7082021Z       "requiredStages": [
2026-06-03T22:00:56.7082106Z         "impl",
2026-06-03T22:00:56.7082186Z         "unit"
2026-06-03T22:00:56.7082268Z       ],
2026-06-03T22:00:56.7082349Z       "stages": {
2026-06-03T22:00:56.7082432Z         "doc": {
2026-06-03T22:00:56.7082523Z           "complete": false,
2026-06-03T22:00:56.7082616Z           "evidence": []
2026-06-03T22:00:56.7082700Z         },
2026-06-03T22:00:56.7082786Z         "impl": {
2026-06-03T22:00:56.7082883Z           "complete": true,
2026-06-03T22:00:56.7082974Z           "evidence": [
2026-06-03T22:00:56.7083065Z             {
2026-06-03T22:00:56.7083207Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.7083304Z               "line": 264
2026-06-03T22:00:56.7083392Z             },
2026-06-03T22:00:56.7083472Z             {
2026-06-03T22:00:56.7083599Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T22:00:56.7083685Z               "line": 26
2026-06-03T22:00:56.7083769Z             }
2026-06-03T22:00:56.7083850Z           ]
2026-06-03T22:00:56.7083935Z         },
2026-06-03T22:00:56.7084016Z         "int": {
2026-06-03T22:00:56.7084111Z           "complete": false,
2026-06-03T22:00:56.7084204Z           "evidence": []
2026-06-03T22:00:56.7084285Z         },
2026-06-03T22:00:56.7084373Z         "unit": {
2026-06-03T22:00:56.7084463Z           "complete": true,
2026-06-03T22:00:56.7084557Z           "evidence": [
2026-06-03T22:00:56.7084637Z             {
2026-06-03T22:00:56.7084885Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T22:00:56.7085075Z               "line": 138
2026-06-03T22:00:56.7085157Z             },
2026-06-03T22:00:56.7085242Z             {
2026-06-03T22:00:56.7085361Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T22:00:56.7085451Z               "line": 181
2026-06-03T22:00:56.7085534Z             }
2026-06-03T22:00:56.7085614Z           ]
2026-06-03T22:00:56.7085696Z         }
2026-06-03T22:00:56.7085775Z       }
2026-06-03T22:00:56.7085856Z     },
2026-06-03T22:00:56.7085932Z     {
2026-06-03T22:00:56.7086064Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-03T22:00:56.7086239Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-03T22:00:56.7086336Z       "requiredStages": [
2026-06-03T22:00:56.7086425Z         "impl",
2026-06-03T22:00:56.7086505Z         "unit"
2026-06-03T22:00:56.7086586Z       ],
2026-06-03T22:00:56.7086666Z       "stages": {
2026-06-03T22:00:56.7086784Z         "doc": {
2026-06-03T22:00:56.7086881Z           "complete": false,
2026-06-03T22:00:56.7086976Z           "evidence": []
2026-06-03T22:00:56.7087062Z         },
2026-06-03T22:00:56.7087144Z         "impl": {
2026-06-03T22:00:56.7087238Z           "complete": true,
2026-06-03T22:00:56.7087324Z           "evidence": [
2026-06-03T22:00:56.7087407Z             {
2026-06-03T22:00:56.7087541Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7087631Z               "line": 36
2026-06-03T22:00:56.7087714Z             },
2026-06-03T22:00:56.7087792Z             {
2026-06-03T22:00:56.7087920Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7088003Z               "line": 68
2026-06-03T22:00:56.7088086Z             }
2026-06-03T22:00:56.7088166Z           ]
2026-06-03T22:00:56.7088244Z         },
2026-06-03T22:00:56.7088327Z         "int": {
2026-06-03T22:00:56.7088416Z           "complete": false,
2026-06-03T22:00:56.7088504Z           "evidence": []
2026-06-03T22:00:56.7088588Z         },
2026-06-03T22:00:56.7088673Z         "unit": {
2026-06-03T22:00:56.7088767Z           "complete": true,
2026-06-03T22:00:56.7088860Z           "evidence": [
2026-06-03T22:00:56.7088944Z             {
2026-06-03T22:00:56.7089066Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7089156Z               "line": 143
2026-06-03T22:00:56.7089236Z             },
2026-06-03T22:00:56.7089320Z             {
2026-06-03T22:00:56.7089568Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7089654Z               "line": 160
2026-06-03T22:00:56.7089737Z             },
2026-06-03T22:00:56.7089819Z             {
2026-06-03T22:00:56.7089948Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7090033Z               "line": 168
2026-06-03T22:00:56.7090117Z             }
2026-06-03T22:00:56.7090200Z           ]
2026-06-03T22:00:56.7090278Z         }
2026-06-03T22:00:56.7090361Z       }
2026-06-03T22:00:56.7090444Z     },
2026-06-03T22:00:56.7090532Z     {
2026-06-03T22:00:56.7090664Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-03T22:00:56.7090881Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-03T22:00:56.7090982Z       "requiredStages": [
2026-06-03T22:00:56.7091062Z         "impl",
2026-06-03T22:00:56.7091146Z         "unit"
2026-06-03T22:00:56.7091225Z       ],
2026-06-03T22:00:56.7091312Z       "stages": {
2026-06-03T22:00:56.7091393Z         "doc": {
2026-06-03T22:00:56.7091485Z           "complete": false,
2026-06-03T22:00:56.7091575Z           "evidence": []
2026-06-03T22:00:56.7091656Z         },
2026-06-03T22:00:56.7091743Z         "impl": {
2026-06-03T22:00:56.7091831Z           "complete": true,
2026-06-03T22:00:56.7091921Z           "evidence": [
2026-06-03T22:00:56.7091999Z             {
2026-06-03T22:00:56.7092130Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7092224Z               "line": 107
2026-06-03T22:00:56.7092301Z             }
2026-06-03T22:00:56.7092508Z           ]
2026-06-03T22:00:56.7092685Z         },
2026-06-03T22:00:56.7092774Z         "int": {
2026-06-03T22:00:56.7092867Z           "complete": false,
2026-06-03T22:00:56.7092960Z           "evidence": []
2026-06-03T22:00:56.7093042Z         },
2026-06-03T22:00:56.7093124Z         "unit": {
2026-06-03T22:00:56.7093216Z           "complete": true,
2026-06-03T22:00:56.7093302Z           "evidence": [
2026-06-03T22:00:56.7093386Z             {
2026-06-03T22:00:56.7093512Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7093601Z               "line": 184
2026-06-03T22:00:56.7093683Z             },
2026-06-03T22:00:56.7093763Z             {
2026-06-03T22:00:56.7093889Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7093975Z               "line": 193
2026-06-03T22:00:56.7094059Z             },
2026-06-03T22:00:56.7094138Z             {
2026-06-03T22:00:56.7094265Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7094361Z               "line": 201
2026-06-03T22:00:56.7094446Z             },
2026-06-03T22:00:56.7094528Z             {
2026-06-03T22:00:56.7094653Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7094742Z               "line": 210
2026-06-03T22:00:56.7094821Z             },
2026-06-03T22:00:56.7094904Z             {
2026-06-03T22:00:56.7095033Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-03T22:00:56.7095119Z               "line": 219
2026-06-03T22:00:56.7095204Z             }
2026-06-03T22:00:56.7095283Z           ]
2026-06-03T22:00:56.7095367Z         }
2026-06-03T22:00:56.7095445Z       }
2026-06-03T22:00:56.7095530Z     },
2026-06-03T22:00:56.7095613Z     {
2026-06-03T22:00:56.7095731Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-03T22:00:56.7095921Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-03T22:00:56.7096015Z       "requiredStages": [
2026-06-03T22:00:56.7096104Z         "impl",
2026-06-03T22:00:56.7096190Z         "unit"
2026-06-03T22:00:56.7096278Z       ],
2026-06-03T22:00:56.7096366Z       "stages": {
2026-06-03T22:00:56.7096447Z         "doc": {
2026-06-03T22:00:56.7096544Z           "complete": false,
2026-06-03T22:00:56.7096632Z           "evidence": []
2026-06-03T22:00:56.7096717Z         },
2026-06-03T22:00:56.7096800Z         "impl": {
2026-06-03T22:00:56.7096896Z           "complete": true,
2026-06-03T22:00:56.7096987Z           "evidence": [
2026-06-03T22:00:56.7097066Z             {
2026-06-03T22:00:56.7097190Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7097275Z               "line": 14
2026-06-03T22:00:56.7097364Z             },
2026-06-03T22:00:56.7097444Z             {
2026-06-03T22:00:56.7097564Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7097656Z               "line": 62
2026-06-03T22:00:56.7097736Z             }
2026-06-03T22:00:56.7097820Z           ]
2026-06-03T22:00:56.7097899Z         },
2026-06-03T22:00:56.7097989Z         "int": {
2026-06-03T22:00:56.7098079Z           "complete": false,
2026-06-03T22:00:56.7098175Z           "evidence": []
2026-06-03T22:00:56.7098257Z         },
2026-06-03T22:00:56.7098338Z         "unit": {
2026-06-03T22:00:56.7098430Z           "complete": true,
2026-06-03T22:00:56.7098516Z           "evidence": [
2026-06-03T22:00:56.7098597Z             {
2026-06-03T22:00:56.7098708Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7098798Z               "line": 160
2026-06-03T22:00:56.7098885Z             },
2026-06-03T22:00:56.7098966Z             {
2026-06-03T22:00:56.7099079Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7099162Z               "line": 197
2026-06-03T22:00:56.7099245Z             },
2026-06-03T22:00:56.7099324Z             {
2026-06-03T22:00:56.7099560Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7099649Z               "line": 213
2026-06-03T22:00:56.7099732Z             }
2026-06-03T22:00:56.7099952Z           ]
2026-06-03T22:00:56.7100210Z         }
2026-06-03T22:00:56.7100494Z       }
2026-06-03T22:00:56.7100648Z     },
2026-06-03T22:00:56.7100779Z     {
2026-06-03T22:00:56.7147693Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-03T22:00:56.7148209Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-03T22:00:56.7148388Z       "requiredStages": [
2026-06-03T22:00:56.7148483Z         "impl",
2026-06-03T22:00:56.7148571Z         "unit"
2026-06-03T22:00:56.7148656Z       ],
2026-06-03T22:00:56.7148748Z       "stages": {
2026-06-03T22:00:56.7148831Z         "doc": {
2026-06-03T22:00:56.7148936Z           "complete": false,
2026-06-03T22:00:56.7149030Z           "evidence": []
2026-06-03T22:00:56.7149114Z         },
2026-06-03T22:00:56.7149203Z         "impl": {
2026-06-03T22:00:56.7149295Z           "complete": true,
2026-06-03T22:00:56.7149650Z           "evidence": [
2026-06-03T22:00:56.7149800Z             {
2026-06-03T22:00:56.7149950Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7150129Z               "line": 76
2026-06-03T22:00:56.7150216Z             },
2026-06-03T22:00:56.7150300Z             {
2026-06-03T22:00:56.7150435Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7150534Z               "line": 163
2026-06-03T22:00:56.7150615Z             },
2026-06-03T22:00:56.7150699Z             {
2026-06-03T22:00:56.7150831Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7150922Z               "line": 229
2026-06-03T22:00:56.7151004Z             },
2026-06-03T22:00:56.7151084Z             {
2026-06-03T22:00:56.7151207Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7151293Z               "line": 265
2026-06-03T22:00:56.7151377Z             }
2026-06-03T22:00:56.7151457Z           ]
2026-06-03T22:00:56.7151539Z         },
2026-06-03T22:00:56.7151623Z         "int": {
2026-06-03T22:00:56.7151718Z           "complete": false,
2026-06-03T22:00:56.7151812Z           "evidence": []
2026-06-03T22:00:56.7151896Z         },
2026-06-03T22:00:56.7151983Z         "unit": {
2026-06-03T22:00:56.7152073Z           "complete": true,
2026-06-03T22:00:56.7152166Z           "evidence": [
2026-06-03T22:00:56.7152251Z             {
2026-06-03T22:00:56.7152373Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7152464Z               "line": 310
2026-06-03T22:00:56.7152544Z             },
2026-06-03T22:00:56.7152626Z             {
2026-06-03T22:00:56.7152748Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7152838Z               "line": 318
2026-06-03T22:00:56.7152920Z             },
2026-06-03T22:00:56.7153001Z             {
2026-06-03T22:00:56.7153122Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7153208Z               "line": 341
2026-06-03T22:00:56.7153291Z             },
2026-06-03T22:00:56.7153370Z             {
2026-06-03T22:00:56.7153494Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7153589Z               "line": 378
2026-06-03T22:00:56.7153672Z             },
2026-06-03T22:00:56.7153754Z             {
2026-06-03T22:00:56.7153881Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7153969Z               "line": 389
2026-06-03T22:00:56.7154048Z             },
2026-06-03T22:00:56.7154131Z             {
2026-06-03T22:00:56.7154255Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7154339Z               "line": 401
2026-06-03T22:00:56.7154424Z             },
2026-06-03T22:00:56.7154504Z             {
2026-06-03T22:00:56.7154634Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-03T22:00:56.7154720Z               "line": 413
2026-06-03T22:00:56.7154803Z             }
2026-06-03T22:00:56.7154883Z           ]
2026-06-03T22:00:56.7154962Z         }
2026-06-03T22:00:56.7155047Z       }
2026-06-03T22:00:56.7155125Z     },
2026-06-03T22:00:56.7155207Z     {
2026-06-03T22:00:56.7155322Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-03T22:00:56.7155685Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-03T22:00:56.7155887Z       "requiredStages": [
2026-06-03T22:00:56.7155971Z         "impl",
2026-06-03T22:00:56.7156056Z         "int"
2026-06-03T22:00:56.7156135Z       ],
2026-06-03T22:00:56.7156223Z       "stages": {
2026-06-03T22:00:56.7156304Z         "doc": {
2026-06-03T22:00:56.7156402Z           "complete": false,
2026-06-03T22:00:56.7156496Z           "evidence": []
2026-06-03T22:00:56.7156576Z         },
2026-06-03T22:00:56.7156666Z         "impl": {
2026-06-03T22:00:56.7156758Z           "complete": true,
2026-06-03T22:00:56.7156850Z           "evidence": [
2026-06-03T22:00:56.7156927Z             {
2026-06-03T22:00:56.7157068Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T22:00:56.7157156Z               "line": 22
2026-06-03T22:00:56.7157233Z             }
2026-06-03T22:00:56.7157314Z           ]
2026-06-03T22:00:56.7157392Z         },
2026-06-03T22:00:56.7157482Z         "int": {
2026-06-03T22:00:56.7157570Z           "complete": true,
2026-06-03T22:00:56.7157663Z           "evidence": [
2026-06-03T22:00:56.7157744Z             {
2026-06-03T22:00:56.7157880Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-03T22:00:56.7157968Z               "line": 18
2026-06-03T22:00:56.7158050Z             }
2026-06-03T22:00:56.7158132Z           ]
2026-06-03T22:00:56.7158213Z         },
2026-06-03T22:00:56.7158300Z         "unit": {
2026-06-03T22:00:56.7158392Z           "complete": false,
2026-06-03T22:00:56.7158478Z           "evidence": []
2026-06-03T22:00:56.7158560Z         }
2026-06-03T22:00:56.7158639Z       }
2026-06-03T22:00:56.7158718Z     },
2026-06-03T22:00:56.7158795Z     {
2026-06-03T22:00:56.7158927Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-03T22:00:56.7159166Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-03T22:00:56.7159260Z       "requiredStages": [
2026-06-03T22:00:56.7159511Z         "impl",
2026-06-03T22:00:56.7159597Z         "unit"
2026-06-03T22:00:56.7159687Z       ],
2026-06-03T22:00:56.7159770Z       "stages": {
2026-06-03T22:00:56.7159855Z         "doc": {
2026-06-03T22:00:56.7159950Z           "complete": false,
2026-06-03T22:00:56.7160038Z           "evidence": []
2026-06-03T22:00:56.7160120Z         },
2026-06-03T22:00:56.7160201Z         "impl": {
2026-06-03T22:00:56.7160294Z           "complete": true,
2026-06-03T22:00:56.7160381Z           "evidence": [
2026-06-03T22:00:56.7160464Z             {
2026-06-03T22:00:56.7160608Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.7160696Z               "line": 263
2026-06-03T22:00:56.7160781Z             },
2026-06-03T22:00:56.7160863Z             {
2026-06-03T22:00:56.7160993Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T22:00:56.7161079Z               "line": 27
2026-06-03T22:00:56.7161167Z             }
2026-06-03T22:00:56.7161252Z           ]
2026-06-03T22:00:56.7161341Z         },
2026-06-03T22:00:56.7161426Z         "int": {
2026-06-03T22:00:56.7161521Z           "complete": false,
2026-06-03T22:00:56.7161609Z           "evidence": []
2026-06-03T22:00:56.7161689Z         },
2026-06-03T22:00:56.7161772Z         "unit": {
2026-06-03T22:00:56.7161863Z           "complete": true,
2026-06-03T22:00:56.7161946Z           "evidence": [
2026-06-03T22:00:56.7162026Z             {
2026-06-03T22:00:56.7162167Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.7162264Z               "line": 561
2026-06-03T22:00:56.7162345Z             },
2026-06-03T22:00:56.7162428Z             {
2026-06-03T22:00:56.7162558Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T22:00:56.7162646Z               "line": 163
2026-06-03T22:00:56.7162731Z             }
2026-06-03T22:00:56.7162809Z           ]
2026-06-03T22:00:56.7162895Z         }
2026-06-03T22:00:56.7162974Z       }
2026-06-03T22:00:56.7163057Z     },
2026-06-03T22:00:56.7163136Z     {
2026-06-03T22:00:56.7163396Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-03T22:00:56.7163689Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-03T22:00:56.7163784Z       "requiredStages": [
2026-06-03T22:00:56.7163871Z         "impl",
2026-06-03T22:00:56.7163951Z         "unit"
2026-06-03T22:00:56.7164034Z       ],
2026-06-03T22:00:56.7164121Z       "stages": {
2026-06-03T22:00:56.7164199Z         "doc": {
2026-06-03T22:00:56.7164294Z           "complete": false,
2026-06-03T22:00:56.7164381Z           "evidence": []
2026-06-03T22:00:56.7164465Z         },
2026-06-03T22:00:56.7164547Z         "impl": {
2026-06-03T22:00:56.7164641Z           "complete": true,
2026-06-03T22:00:56.7164733Z           "evidence": [
2026-06-03T22:00:56.7164813Z             {
2026-06-03T22:00:56.7164945Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T22:00:56.7165031Z               "line": 20
2026-06-03T22:00:56.7165113Z             },
2026-06-03T22:00:56.7165191Z             {
2026-06-03T22:00:56.7165323Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T22:00:56.7165419Z               "line": 94
2026-06-03T22:00:56.7165499Z             },
2026-06-03T22:00:56.7165583Z             {
2026-06-03T22:00:56.7165717Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T22:00:56.7165805Z               "line": 70
2026-06-03T22:00:56.7165888Z             },
2026-06-03T22:00:56.7165965Z             {
2026-06-03T22:00:56.7166099Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T22:00:56.7166184Z               "line": 82
2026-06-03T22:00:56.7166267Z             }
2026-06-03T22:00:56.7166346Z           ]
2026-06-03T22:00:56.7166428Z         },
2026-06-03T22:00:56.7166512Z         "int": {
2026-06-03T22:00:56.7166606Z           "complete": false,
2026-06-03T22:00:56.7166699Z           "evidence": []
2026-06-03T22:00:56.7166776Z         },
2026-06-03T22:00:56.7166862Z         "unit": {
2026-06-03T22:00:56.7166951Z           "complete": true,
2026-06-03T22:00:56.7167045Z           "evidence": [
2026-06-03T22:00:56.7167127Z             {
2026-06-03T22:00:56.7167250Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T22:00:56.7167340Z               "line": 139
2026-06-03T22:00:56.7167418Z             },
2026-06-03T22:00:56.7167500Z             {
2026-06-03T22:00:56.7167617Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T22:00:56.7167706Z               "line": 162
2026-06-03T22:00:56.7167789Z             },
2026-06-03T22:00:56.7167867Z             {
2026-06-03T22:00:56.7167990Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T22:00:56.7168077Z               "line": 173
2026-06-03T22:00:56.7168162Z             },
2026-06-03T22:00:56.7168241Z             {
2026-06-03T22:00:56.7168364Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T22:00:56.7168455Z               "line": 189
2026-06-03T22:00:56.7168533Z             },
2026-06-03T22:00:56.7168617Z             {
2026-06-03T22:00:56.7168738Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-03T22:00:56.7168831Z               "line": 200
2026-06-03T22:00:56.7168911Z             },
2026-06-03T22:00:56.7168990Z             {
2026-06-03T22:00:56.7169121Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-03T22:00:56.7169206Z               "line": 139
2026-06-03T22:00:56.7169288Z             }
2026-06-03T22:00:56.7169498Z           ]
2026-06-03T22:00:56.7169583Z         }
2026-06-03T22:00:56.7169661Z       }
2026-06-03T22:00:56.7169743Z     },
2026-06-03T22:00:56.7169823Z     {
2026-06-03T22:00:56.7169926Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-03T22:00:56.7170238Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-03T22:00:56.7170332Z       "requiredStages": [
2026-06-03T22:00:56.7170417Z         "impl",
2026-06-03T22:00:56.7170499Z         "unit"
2026-06-03T22:00:56.7170581Z       ],
2026-06-03T22:00:56.7170666Z       "stages": {
2026-06-03T22:00:56.7170875Z         "doc": {
2026-06-03T22:00:56.7171066Z           "complete": true,
2026-06-03T22:00:56.7171153Z           "evidence": [
2026-06-03T22:00:56.7171239Z             {
2026-06-03T22:00:56.7171357Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-03T22:00:56.7171448Z               "line": 131
2026-06-03T22:00:56.7171533Z             }
2026-06-03T22:00:56.7171612Z           ]
2026-06-03T22:00:56.7171696Z         },
2026-06-03T22:00:56.7171781Z         "impl": {
2026-06-03T22:00:56.7171874Z           "complete": true,
2026-06-03T22:00:56.7171962Z           "evidence": [
2026-06-03T22:00:56.7172046Z             {
2026-06-03T22:00:56.7172170Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T22:00:56.7172255Z               "line": 50
2026-06-03T22:00:56.7172339Z             },
2026-06-03T22:00:56.7172417Z             {
2026-06-03T22:00:56.7172543Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T22:00:56.7172627Z               "line": 17
2026-06-03T22:00:56.7172716Z             },
2026-06-03T22:00:56.7172801Z             {
2026-06-03T22:00:56.7172929Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7173020Z               "line": 171
2026-06-03T22:00:56.7173100Z             },
2026-06-03T22:00:56.7173182Z             {
2026-06-03T22:00:56.7173300Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7173390Z               "line": 259
2026-06-03T22:00:56.7173473Z             },
2026-06-03T22:00:56.7173552Z             {
2026-06-03T22:00:56.7173674Z               "path": "crates/spt/src/api/worker.rs",
2026-06-03T22:00:56.7173759Z               "line": 32
2026-06-03T22:00:56.7173840Z             }
2026-06-03T22:00:56.7173917Z           ]
2026-06-03T22:00:56.7173997Z         },
2026-06-03T22:00:56.7174079Z         "int": {
2026-06-03T22:00:56.7174169Z           "complete": false,
2026-06-03T22:00:56.7174257Z           "evidence": []
2026-06-03T22:00:56.7174335Z         },
2026-06-03T22:00:56.7174419Z         "unit": {
2026-06-03T22:00:56.7174513Z           "complete": true,
2026-06-03T22:00:56.7174607Z           "evidence": [
2026-06-03T22:00:56.7174691Z             {
2026-06-03T22:00:56.7174808Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T22:00:56.7174896Z               "line": 94
2026-06-03T22:00:56.7174976Z             },
2026-06-03T22:00:56.7175059Z             {
2026-06-03T22:00:56.7175171Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T22:00:56.7175258Z               "line": 111
2026-06-03T22:00:56.7175340Z             },
2026-06-03T22:00:56.7175417Z             {
2026-06-03T22:00:56.7175530Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T22:00:56.7175614Z               "line": 124
2026-06-03T22:00:56.7175696Z             },
2026-06-03T22:00:56.7175775Z             {
2026-06-03T22:00:56.7175892Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T22:00:56.7175983Z               "line": 134
2026-06-03T22:00:56.7176063Z             },
2026-06-03T22:00:56.7176150Z             {
2026-06-03T22:00:56.7176260Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T22:00:56.7176355Z               "line": 142
2026-06-03T22:00:56.7176434Z             },
2026-06-03T22:00:56.7176518Z             {
2026-06-03T22:00:56.7176633Z               "path": "crates/spt-proto/src/id.rs",
2026-06-03T22:00:56.7176720Z               "line": 154
2026-06-03T22:00:56.7176802Z             }
2026-06-03T22:00:56.7176883Z           ]
2026-06-03T22:00:56.7176965Z         }
2026-06-03T22:00:56.7177045Z       }
2026-06-03T22:00:56.7177125Z     },
2026-06-03T22:00:56.7177209Z     {
2026-06-03T22:00:56.7177323Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-03T22:00:56.7177473Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-03T22:00:56.7177565Z       "requiredStages": [
2026-06-03T22:00:56.7177651Z         "impl",
2026-06-03T22:00:56.7177731Z         "unit"
2026-06-03T22:00:56.7177814Z       ],
2026-06-03T22:00:56.7177898Z       "stages": {
2026-06-03T22:00:56.7178099Z         "doc": {
2026-06-03T22:00:56.7178194Z           "complete": false,
2026-06-03T22:00:56.7178354Z           "evidence": []
2026-06-03T22:00:56.7178435Z         },
2026-06-03T22:00:56.7178515Z         "impl": {
2026-06-03T22:00:56.7178607Z           "complete": true,
2026-06-03T22:00:56.7178693Z           "evidence": [
2026-06-03T22:00:56.7178771Z             {
2026-06-03T22:00:56.7178896Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7178981Z               "line": 93
2026-06-03T22:00:56.7179064Z             }
2026-06-03T22:00:56.7179140Z           ]
2026-06-03T22:00:56.7179221Z         },
2026-06-03T22:00:56.7179303Z         "int": {
2026-06-03T22:00:56.7179512Z           "complete": false,
2026-06-03T22:00:56.7179606Z           "evidence": []
2026-06-03T22:00:56.7179682Z         },
2026-06-03T22:00:56.7179798Z         "unit": {
2026-06-03T22:00:56.7179888Z           "complete": true,
2026-06-03T22:00:56.7179978Z           "evidence": [
2026-06-03T22:00:56.7180063Z             {
2026-06-03T22:00:56.7180190Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7180283Z               "line": 190
2026-06-03T22:00:56.7180360Z             }
2026-06-03T22:00:56.7180440Z           ]
2026-06-03T22:00:56.7180519Z         }
2026-06-03T22:00:56.7180597Z       }
2026-06-03T22:00:56.7180676Z     },
2026-06-03T22:00:56.7180753Z     {
2026-06-03T22:00:56.7180878Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-03T22:00:56.7181054Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-03T22:00:56.7181150Z       "requiredStages": [
2026-06-03T22:00:56.7181235Z         "impl",
2026-06-03T22:00:56.7181313Z         "unit"
2026-06-03T22:00:56.7181392Z       ],
2026-06-03T22:00:56.7181474Z       "stages": {
2026-06-03T22:00:56.7181555Z         "doc": {
2026-06-03T22:00:56.7181644Z           "complete": false,
2026-06-03T22:00:56.7181734Z           "evidence": []
2026-06-03T22:00:56.7181815Z         },
2026-06-03T22:00:56.7181895Z         "impl": {
2026-06-03T22:00:56.7181991Z           "complete": true,
2026-06-03T22:00:56.7182080Z           "evidence": [
2026-06-03T22:00:56.7182158Z             {
2026-06-03T22:00:56.7182276Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7182363Z               "line": 120
2026-06-03T22:00:56.7182443Z             },
2026-06-03T22:00:56.7182520Z             {
2026-06-03T22:00:56.7182636Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7182721Z               "line": 131
2026-06-03T22:00:56.7182800Z             },
2026-06-03T22:00:56.7182878Z             {
2026-06-03T22:00:56.7182995Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7183081Z               "line": 149
2026-06-03T22:00:56.7183160Z             }
2026-06-03T22:00:56.7183240Z           ]
2026-06-03T22:00:56.7183317Z         },
2026-06-03T22:00:56.7183398Z         "int": {
2026-06-03T22:00:56.7183485Z           "complete": false,
2026-06-03T22:00:56.7183573Z           "evidence": []
2026-06-03T22:00:56.7183657Z         },
2026-06-03T22:00:56.7183741Z         "unit": {
2026-06-03T22:00:56.7183833Z           "complete": true,
2026-06-03T22:00:56.7183918Z           "evidence": [
2026-06-03T22:00:56.7184000Z             {
2026-06-03T22:00:56.7184115Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7184203Z               "line": 173
2026-06-03T22:00:56.7184284Z             },
2026-06-03T22:00:56.7184361Z             {
2026-06-03T22:00:56.7184477Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7184563Z               "line": 191
2026-06-03T22:00:56.7184643Z             },
2026-06-03T22:00:56.7184719Z             {
2026-06-03T22:00:56.7184835Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7184924Z               "line": 253
2026-06-03T22:00:56.7185002Z             },
2026-06-03T22:00:56.7185083Z             {
2026-06-03T22:00:56.7185195Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7185404Z               "line": 264
2026-06-03T22:00:56.7185481Z             },
2026-06-03T22:00:56.7185659Z             {
2026-06-03T22:00:56.7185778Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7185862Z               "line": 277
2026-06-03T22:00:56.7185944Z             }
2026-06-03T22:00:56.7186020Z           ]
2026-06-03T22:00:56.7186102Z         }
2026-06-03T22:00:56.7186180Z       }
2026-06-03T22:00:56.7186260Z     },
2026-06-03T22:00:56.7186340Z     {
2026-06-03T22:00:56.7186454Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-03T22:00:56.7186713Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-03T22:00:56.7186807Z       "requiredStages": [
2026-06-03T22:00:56.7186889Z         "impl",
2026-06-03T22:00:56.7186968Z         "unit"
2026-06-03T22:00:56.7187047Z       ],
2026-06-03T22:00:56.7187131Z       "stages": {
2026-06-03T22:00:56.7187209Z         "doc": {
2026-06-03T22:00:56.7187299Z           "complete": false,
2026-06-03T22:00:56.7187391Z           "evidence": []
2026-06-03T22:00:56.7187477Z         },
2026-06-03T22:00:56.7187556Z         "impl": {
2026-06-03T22:00:56.7187647Z           "complete": true,
2026-06-03T22:00:56.7187733Z           "evidence": [
2026-06-03T22:00:56.7187811Z             {
2026-06-03T22:00:56.7187927Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T22:00:56.7188012Z               "line": 14
2026-06-03T22:00:56.7188093Z             },
2026-06-03T22:00:56.7188169Z             {
2026-06-03T22:00:56.7188284Z               "path": "crates/spt/src/api/mod.rs",
2026-06-03T22:00:56.7188370Z               "line": 298
2026-06-03T22:00:56.7188448Z             }
2026-06-03T22:00:56.7188527Z           ]
2026-06-03T22:00:56.7188604Z         },
2026-06-03T22:00:56.7188684Z         "int": {
2026-06-03T22:00:56.7188773Z           "complete": false,
2026-06-03T22:00:56.7188861Z           "evidence": []
2026-06-03T22:00:56.7188941Z         },
2026-06-03T22:00:56.7189021Z         "unit": {
2026-06-03T22:00:56.7189115Z           "complete": true,
2026-06-03T22:00:56.7189204Z           "evidence": [
2026-06-03T22:00:56.7189283Z             {
2026-06-03T22:00:56.7189655Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T22:00:56.7189822Z               "line": 130
2026-06-03T22:00:56.7189908Z             },
2026-06-03T22:00:56.7189987Z             {
2026-06-03T22:00:56.7190111Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T22:00:56.7190195Z               "line": 138
2026-06-03T22:00:56.7190279Z             },
2026-06-03T22:00:56.7190355Z             {
2026-06-03T22:00:56.7190470Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T22:00:56.7190555Z               "line": 146
2026-06-03T22:00:56.7190634Z             },
2026-06-03T22:00:56.7190716Z             {
2026-06-03T22:00:56.7190839Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T22:00:56.7190927Z               "line": 154
2026-06-03T22:00:56.7191007Z             },
2026-06-03T22:00:56.7191086Z             {
2026-06-03T22:00:56.7191204Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T22:00:56.7191294Z               "line": 162
2026-06-03T22:00:56.7191373Z             },
2026-06-03T22:00:56.7191453Z             {
2026-06-03T22:00:56.7191567Z               "path": "crates/spt/src/api/auth.rs",
2026-06-03T22:00:56.7191650Z               "line": 170
2026-06-03T22:00:56.7191730Z             }
2026-06-03T22:00:56.7191809Z           ]
2026-06-03T22:00:56.7191886Z         }
2026-06-03T22:00:56.7191967Z       }
2026-06-03T22:00:56.7192043Z     },
2026-06-03T22:00:56.7192122Z     {
2026-06-03T22:00:56.7192237Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-03T22:00:56.7193730Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-03T22:00:56.7193839Z       "requiredStages": [
2026-06-03T22:00:56.7194068Z         "impl",
2026-06-03T22:00:56.7194253Z         "unit"
2026-06-03T22:00:56.7194332Z       ],
2026-06-03T22:00:56.7194420Z       "stages": {
2026-06-03T22:00:56.7194505Z         "doc": {
2026-06-03T22:00:56.7194596Z           "complete": false,
2026-06-03T22:00:56.7194684Z           "evidence": []
2026-06-03T22:00:56.7194761Z         },
2026-06-03T22:00:56.7194846Z         "impl": {
2026-06-03T22:00:56.7194936Z           "complete": true,
2026-06-03T22:00:56.7195024Z           "evidence": [
2026-06-03T22:00:56.7195105Z             {
2026-06-03T22:00:56.7195276Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T22:00:56.7195365Z               "line": 34
2026-06-03T22:00:56.7195443Z             }
2026-06-03T22:00:56.7195524Z           ]
2026-06-03T22:00:56.7195605Z         },
2026-06-03T22:00:56.7195690Z         "int": {
2026-06-03T22:00:56.7195786Z           "complete": false,
2026-06-03T22:00:56.7195873Z           "evidence": []
2026-06-03T22:00:56.7195964Z         },
2026-06-03T22:00:56.7196051Z         "unit": {
2026-06-03T22:00:56.7196143Z           "complete": true,
2026-06-03T22:00:56.7196229Z           "evidence": [
2026-06-03T22:00:56.7196311Z             {
2026-06-03T22:00:56.7196467Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T22:00:56.7196552Z               "line": 188
2026-06-03T22:00:56.7196633Z             },
2026-06-03T22:00:56.7196711Z             {
2026-06-03T22:00:56.7196861Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T22:00:56.7196946Z               "line": 200
2026-06-03T22:00:56.7197029Z             },
2026-06-03T22:00:56.7197111Z             {
2026-06-03T22:00:56.7197256Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T22:00:56.7197346Z               "line": 211
2026-06-03T22:00:56.7197425Z             },
2026-06-03T22:00:56.7197509Z             {
2026-06-03T22:00:56.7197654Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T22:00:56.7197746Z               "line": 245
2026-06-03T22:00:56.7197834Z             },
2026-06-03T22:00:56.7197913Z             {
2026-06-03T22:00:56.7198064Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T22:00:56.7198148Z               "line": 267
2026-06-03T22:00:56.7198228Z             },
2026-06-03T22:00:56.7198308Z             {
2026-06-03T22:00:56.7198456Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T22:00:56.7198544Z               "line": 288
2026-06-03T22:00:56.7198622Z             },
2026-06-03T22:00:56.7198701Z             {
2026-06-03T22:00:56.7198846Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-03T22:00:56.7198936Z               "line": 304
2026-06-03T22:00:56.7199018Z             }
2026-06-03T22:00:56.7199096Z           ]
2026-06-03T22:00:56.7199176Z         }
2026-06-03T22:00:56.7199252Z       }
2026-06-03T22:00:56.7199486Z     },
2026-06-03T22:00:56.7199576Z     {
2026-06-03T22:00:56.7199706Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-03T22:00:56.7200399Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-03T22:00:56.7200493Z       "requiredStages": [
2026-06-03T22:00:56.7200579Z         "impl",
2026-06-03T22:00:56.7200658Z         "unit"
2026-06-03T22:00:56.7200739Z       ],
2026-06-03T22:00:56.7200820Z       "stages": {
2026-06-03T22:00:56.7200902Z         "doc": {
2026-06-03T22:00:56.7200996Z           "complete": false,
2026-06-03T22:00:56.7201081Z           "evidence": []
2026-06-03T22:00:56.7201161Z         },
2026-06-03T22:00:56.7201243Z         "impl": {
2026-06-03T22:00:56.7201335Z           "complete": true,
2026-06-03T22:00:56.7201420Z           "evidence": [
2026-06-03T22:00:56.7201500Z             {
2026-06-03T22:00:56.7201632Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7201843Z               "line": 29
2026-06-03T22:00:56.7202020Z             },
2026-06-03T22:00:56.7202098Z             {
2026-06-03T22:00:56.7202223Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7202306Z               "line": 145
2026-06-03T22:00:56.7202386Z             },
2026-06-03T22:00:56.7202466Z             {
2026-06-03T22:00:56.7202582Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7202667Z               "line": 163
2026-06-03T22:00:56.7202746Z             },
2026-06-03T22:00:56.7202829Z             {
2026-06-03T22:00:56.7202946Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7203033Z               "line": 189
2026-06-03T22:00:56.7203114Z             }
2026-06-03T22:00:56.7203192Z           ]
2026-06-03T22:00:56.7203271Z         },
2026-06-03T22:00:56.7203349Z         "int": {
2026-06-03T22:00:56.7203440Z           "complete": false,
2026-06-03T22:00:56.7203526Z           "evidence": []
2026-06-03T22:00:56.7203611Z         },
2026-06-03T22:00:56.7203699Z         "unit": {
2026-06-03T22:00:56.7203787Z           "complete": true,
2026-06-03T22:00:56.7203874Z           "evidence": [
2026-06-03T22:00:56.7203950Z             {
2026-06-03T22:00:56.7204070Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7204158Z               "line": 250
2026-06-03T22:00:56.7204236Z             },
2026-06-03T22:00:56.7204315Z             {
2026-06-03T22:00:56.7204433Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7204522Z               "line": 265
2026-06-03T22:00:56.7204600Z             },
2026-06-03T22:00:56.7204679Z             {
2026-06-03T22:00:56.7204798Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7204882Z               "line": 284
2026-06-03T22:00:56.7204962Z             },
2026-06-03T22:00:56.7205040Z             {
2026-06-03T22:00:56.7205157Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7205246Z               "line": 300
2026-06-03T22:00:56.7205333Z             },
2026-06-03T22:00:56.7205413Z             {
2026-06-03T22:00:56.7205531Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7205619Z               "line": 324
2026-06-03T22:00:56.7205697Z             },
2026-06-03T22:00:56.7205777Z             {
2026-06-03T22:00:56.7205894Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7205984Z               "line": 338
2026-06-03T22:00:56.7206065Z             },
2026-06-03T22:00:56.7206141Z             {
2026-06-03T22:00:56.7206260Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7206343Z               "line": 349
2026-06-03T22:00:56.7206422Z             },
2026-06-03T22:00:56.7206499Z             {
2026-06-03T22:00:56.7206617Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7206704Z               "line": 360
2026-06-03T22:00:56.7206780Z             }
2026-06-03T22:00:56.7206864Z           ]
2026-06-03T22:00:56.7206941Z         }
2026-06-03T22:00:56.7207025Z       }
2026-06-03T22:00:56.7207102Z     },
2026-06-03T22:00:56.7207183Z     {
2026-06-03T22:00:56.7207313Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-03T22:00:56.7208172Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-03T22:00:56.7208269Z       "requiredStages": [
2026-06-03T22:00:56.7208348Z         "impl",
2026-06-03T22:00:56.7208429Z         "unit"
2026-06-03T22:00:56.7208509Z       ],
2026-06-03T22:00:56.7208589Z       "stages": {
2026-06-03T22:00:56.7208669Z         "doc": {
2026-06-03T22:00:56.7208758Z           "complete": false,
2026-06-03T22:00:56.7208846Z           "evidence": []
2026-06-03T22:00:56.7208923Z         },
2026-06-03T22:00:56.7209007Z         "impl": {
2026-06-03T22:00:56.7209096Z           "complete": true,
2026-06-03T22:00:56.7209270Z           "evidence": [
2026-06-03T22:00:56.7209563Z             {
2026-06-03T22:00:56.7209726Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7209814Z               "line": 27
2026-06-03T22:00:56.7209894Z             },
2026-06-03T22:00:56.7209976Z             {
2026-06-03T22:00:56.7210124Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7210214Z               "line": 110
2026-06-03T22:00:56.7210300Z             },
2026-06-03T22:00:56.7210378Z             {
2026-06-03T22:00:56.7210522Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7210607Z               "line": 153
2026-06-03T22:00:56.7210686Z             },
2026-06-03T22:00:56.7210766Z             {
2026-06-03T22:00:56.7210904Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7210991Z               "line": 182
2026-06-03T22:00:56.7211070Z             },
2026-06-03T22:00:56.7211160Z             {
2026-06-03T22:00:56.7211321Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7211419Z               "line": 31
2026-06-03T22:00:56.7211502Z             },
2026-06-03T22:00:56.7211580Z             {
2026-06-03T22:00:56.7211740Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7211826Z               "line": 113
2026-06-03T22:00:56.7211907Z             },
2026-06-03T22:00:56.7211984Z             {
2026-06-03T22:00:56.7212138Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7212225Z               "line": 138
2026-06-03T22:00:56.7212304Z             }
2026-06-03T22:00:56.7212385Z           ]
2026-06-03T22:00:56.7212462Z         },
2026-06-03T22:00:56.7212544Z         "int": {
2026-06-03T22:00:56.7212635Z           "complete": false,
2026-06-03T22:00:56.7212723Z           "evidence": []
2026-06-03T22:00:56.7212804Z         },
2026-06-03T22:00:56.7212884Z         "unit": {
2026-06-03T22:00:56.7212983Z           "complete": true,
2026-06-03T22:00:56.7213073Z           "evidence": [
2026-06-03T22:00:56.7213154Z             {
2026-06-03T22:00:56.7213292Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7213379Z               "line": 261
2026-06-03T22:00:56.7213459Z             },
2026-06-03T22:00:56.7213535Z             {
2026-06-03T22:00:56.7213700Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7213786Z               "line": 276
2026-06-03T22:00:56.7213866Z             },
2026-06-03T22:00:56.7213949Z             {
2026-06-03T22:00:56.7214087Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7214174Z               "line": 293
2026-06-03T22:00:56.7214252Z             },
2026-06-03T22:00:56.7214331Z             {
2026-06-03T22:00:56.7214466Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7214553Z               "line": 310
2026-06-03T22:00:56.7214640Z             },
2026-06-03T22:00:56.7214718Z             {
2026-06-03T22:00:56.7214867Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7214953Z               "line": 327
2026-06-03T22:00:56.7215034Z             },
2026-06-03T22:00:56.7215112Z             {
2026-06-03T22:00:56.7215250Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7215335Z               "line": 366
2026-06-03T22:00:56.7215413Z             },
2026-06-03T22:00:56.7215492Z             {
2026-06-03T22:00:56.7215641Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7215731Z               "line": 179
2026-06-03T22:00:56.7215810Z             },
2026-06-03T22:00:56.7215890Z             {
2026-06-03T22:00:56.7216043Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7216127Z               "line": 194
2026-06-03T22:00:56.7216207Z             },
2026-06-03T22:00:56.7216284Z             {
2026-06-03T22:00:56.7216560Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7216745Z               "line": 204
2026-06-03T22:00:56.7216830Z             },
2026-06-03T22:00:56.7216911Z             {
2026-06-03T22:00:56.7217058Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7217147Z               "line": 259
2026-06-03T22:00:56.7217224Z             },
2026-06-03T22:00:56.7217304Z             {
2026-06-03T22:00:56.7217455Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7217541Z               "line": 269
2026-06-03T22:00:56.7217622Z             },
2026-06-03T22:00:56.7217701Z             {
2026-06-03T22:00:56.7217852Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7217938Z               "line": 283
2026-06-03T22:00:56.7218025Z             }
2026-06-03T22:00:56.7218107Z           ]
2026-06-03T22:00:56.7218188Z         }
2026-06-03T22:00:56.7218273Z       }
2026-06-03T22:00:56.7218351Z     },
2026-06-03T22:00:56.7218435Z     {
2026-06-03T22:00:56.7218555Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-03T22:00:56.7218782Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-03T22:00:56.7218881Z       "requiredStages": [],
2026-06-03T22:00:56.7218963Z       "stages": {
2026-06-03T22:00:56.7219045Z         "doc": {
2026-06-03T22:00:56.7219136Z           "complete": false,
2026-06-03T22:00:56.7219225Z           "evidence": []
2026-06-03T22:00:56.7219302Z         },
2026-06-03T22:00:56.7219507Z         "impl": {
2026-06-03T22:00:56.7219602Z           "complete": false,
2026-06-03T22:00:56.7219690Z           "evidence": []
2026-06-03T22:00:56.7219773Z         },
2026-06-03T22:00:56.7219853Z         "int": {
2026-06-03T22:00:56.7219946Z           "complete": false,
2026-06-03T22:00:56.7220032Z           "evidence": []
2026-06-03T22:00:56.7220113Z         },
2026-06-03T22:00:56.7220192Z         "unit": {
2026-06-03T22:00:56.7220289Z           "complete": false,
2026-06-03T22:00:56.7220385Z           "evidence": []
2026-06-03T22:00:56.7220463Z         }
2026-06-03T22:00:56.7220545Z       }
2026-06-03T22:00:56.7220624Z     },
2026-06-03T22:00:56.7220707Z     {
2026-06-03T22:00:56.7220844Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-03T22:00:56.7225986Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-03T22:00:56.7226127Z       "requiredStages": [],
2026-06-03T22:00:56.7226215Z       "stages": {
2026-06-03T22:00:56.7226304Z         "doc": {
2026-06-03T22:00:56.7226404Z           "complete": false,
2026-06-03T22:00:56.7226495Z           "evidence": []
2026-06-03T22:00:56.7226578Z         },
2026-06-03T22:00:56.7226663Z         "impl": {
2026-06-03T22:00:56.7226764Z           "complete": false,
2026-06-03T22:00:56.7226869Z           "evidence": []
2026-06-03T22:00:56.7226963Z         },
2026-06-03T22:00:56.7227051Z         "int": {
2026-06-03T22:00:56.7227141Z           "complete": false,
2026-06-03T22:00:56.7227231Z           "evidence": []
2026-06-03T22:00:56.7227310Z         },
2026-06-03T22:00:56.7227394Z         "unit": {
2026-06-03T22:00:56.7227483Z           "complete": false,
2026-06-03T22:00:56.7227573Z           "evidence": []
2026-06-03T22:00:56.7227649Z         }
2026-06-03T22:00:56.7227732Z       }
2026-06-03T22:00:56.7227814Z     },
2026-06-03T22:00:56.7227891Z     {
2026-06-03T22:00:56.7228024Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-03T22:00:56.7228339Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-03T22:00:56.7228440Z       "requiredStages": [
2026-06-03T22:00:56.7228524Z         "impl",
2026-06-03T22:00:56.7228603Z         "unit"
2026-06-03T22:00:56.7228683Z       ],
2026-06-03T22:00:56.7228955Z       "stages": {
2026-06-03T22:00:56.7229039Z         "doc": {
2026-06-03T22:00:56.7229233Z           "complete": true,
2026-06-03T22:00:56.7229591Z           "evidence": [
2026-06-03T22:00:56.7229804Z             {
2026-06-03T22:00:56.7229999Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-03T22:00:56.7230095Z               "line": 137
2026-06-03T22:00:56.7230173Z             }
2026-06-03T22:00:56.7230254Z           ]
2026-06-03T22:00:56.7230331Z         },
2026-06-03T22:00:56.7230416Z         "impl": {
2026-06-03T22:00:56.7230512Z           "complete": true,
2026-06-03T22:00:56.7230596Z           "evidence": [
2026-06-03T22:00:56.7230677Z             {
2026-06-03T22:00:56.7230799Z               "path": "crates/spt-store/src/db.rs",
2026-06-03T22:00:56.7230887Z               "line": 29
2026-06-03T22:00:56.7230966Z             },
2026-06-03T22:00:56.7231047Z             {
2026-06-03T22:00:56.7231186Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7231272Z               "line": 24
2026-06-03T22:00:56.7231361Z             },
2026-06-03T22:00:56.7231443Z             {
2026-06-03T22:00:56.7231567Z               "path": "crates/spt-store/src/spool.rs",
2026-06-03T22:00:56.7231651Z               "line": 48
2026-06-03T22:00:56.7231732Z             }
2026-06-03T22:00:56.7231814Z           ]
2026-06-03T22:00:56.7231891Z         },
2026-06-03T22:00:56.7231972Z         "int": {
2026-06-03T22:00:56.7232065Z           "complete": false,
2026-06-03T22:00:56.7232160Z           "evidence": []
2026-06-03T22:00:56.7232238Z         },
2026-06-03T22:00:56.7232322Z         "unit": {
2026-06-03T22:00:56.7232415Z           "complete": true,
2026-06-03T22:00:56.7232499Z           "evidence": [
2026-06-03T22:00:56.7232578Z             {
2026-06-03T22:00:56.7232716Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7232806Z               "line": 146
2026-06-03T22:00:56.7232884Z             }
2026-06-03T22:00:56.7232962Z           ]
2026-06-03T22:00:56.7233040Z         }
2026-06-03T22:00:56.7233123Z       }
2026-06-03T22:00:56.7233207Z     },
2026-06-03T22:00:56.7233284Z     {
2026-06-03T22:00:56.7233415Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-03T22:00:56.7233640Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-03T22:00:56.7233739Z       "requiredStages": [
2026-06-03T22:00:56.7233824Z         "impl",
2026-06-03T22:00:56.7233905Z         "unit"
2026-06-03T22:00:56.7233984Z       ],
2026-06-03T22:00:56.7234064Z       "stages": {
2026-06-03T22:00:56.7234146Z         "doc": {
2026-06-03T22:00:56.7234239Z           "complete": false,
2026-06-03T22:00:56.7234330Z           "evidence": []
2026-06-03T22:00:56.7234412Z         },
2026-06-03T22:00:56.7234492Z         "impl": {
2026-06-03T22:00:56.7234585Z           "complete": true,
2026-06-03T22:00:56.7234669Z           "evidence": [
2026-06-03T22:00:56.7234751Z             {
2026-06-03T22:00:56.7234880Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T22:00:56.7234974Z               "line": 8
2026-06-03T22:00:56.7235064Z             },
2026-06-03T22:00:56.7235141Z             {
2026-06-03T22:00:56.7235278Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7235362Z               "line": 49
2026-06-03T22:00:56.7235443Z             },
2026-06-03T22:00:56.7235522Z             {
2026-06-03T22:00:56.7235651Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7235741Z               "line": 56
2026-06-03T22:00:56.7235820Z             },
2026-06-03T22:00:56.7235902Z             {
2026-06-03T22:00:56.7236024Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7236112Z               "line": 101
2026-06-03T22:00:56.7236190Z             },
2026-06-03T22:00:56.7236272Z             {
2026-06-03T22:00:56.7236399Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7236483Z               "line": 122
2026-06-03T22:00:56.7236566Z             }
2026-06-03T22:00:56.7236823Z           ]
2026-06-03T22:00:56.7236904Z         },
2026-06-03T22:00:56.7237080Z         "int": {
2026-06-03T22:00:56.7237173Z           "complete": false,
2026-06-03T22:00:56.7237261Z           "evidence": []
2026-06-03T22:00:56.7237338Z         },
2026-06-03T22:00:56.7237417Z         "unit": {
2026-06-03T22:00:56.7237506Z           "complete": true,
2026-06-03T22:00:56.7237594Z           "evidence": [
2026-06-03T22:00:56.7237670Z             {
2026-06-03T22:00:56.7237789Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T22:00:56.7237874Z               "line": 103
2026-06-03T22:00:56.7237953Z             },
2026-06-03T22:00:56.7238033Z             {
2026-06-03T22:00:56.7238146Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T22:00:56.7238234Z               "line": 109
2026-06-03T22:00:56.7238311Z             },
2026-06-03T22:00:56.7238390Z             {
2026-06-03T22:00:56.7238513Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7238598Z               "line": 177
2026-06-03T22:00:56.7238685Z             },
2026-06-03T22:00:56.7238768Z             {
2026-06-03T22:00:56.7238891Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7238975Z               "line": 187
2026-06-03T22:00:56.7239058Z             },
2026-06-03T22:00:56.7239139Z             {
2026-06-03T22:00:56.7239257Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7239343Z               "line": 231
2026-06-03T22:00:56.7239636Z             },
2026-06-03T22:00:56.7239718Z             {
2026-06-03T22:00:56.7239841Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7239926Z               "line": 243
2026-06-03T22:00:56.7240013Z             },
2026-06-03T22:00:56.7240088Z             {
2026-06-03T22:00:56.7240210Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7240293Z               "line": 251
2026-06-03T22:00:56.7240374Z             }
2026-06-03T22:00:56.7240451Z           ]
2026-06-03T22:00:56.7240536Z         }
2026-06-03T22:00:56.7240622Z       }
2026-06-03T22:00:56.7240699Z     },
2026-06-03T22:00:56.7240778Z     {
2026-06-03T22:00:56.7240895Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-03T22:00:56.7241217Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-03T22:00:56.7241314Z       "requiredStages": [
2026-06-03T22:00:56.7241394Z         "impl",
2026-06-03T22:00:56.7241474Z         "unit",
2026-06-03T22:00:56.7241550Z         "int"
2026-06-03T22:00:56.7241629Z       ],
2026-06-03T22:00:56.7241708Z       "stages": {
2026-06-03T22:00:56.7241787Z         "doc": {
2026-06-03T22:00:56.7241875Z           "complete": false,
2026-06-03T22:00:56.7241964Z           "evidence": []
2026-06-03T22:00:56.7242042Z         },
2026-06-03T22:00:56.7242122Z         "impl": {
2026-06-03T22:00:56.7242212Z           "complete": true,
2026-06-03T22:00:56.7242297Z           "evidence": [
2026-06-03T22:00:56.7242376Z             {
2026-06-03T22:00:56.7242506Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T22:00:56.7242599Z               "line": 191
2026-06-03T22:00:56.7242680Z             },
2026-06-03T22:00:56.7242758Z             {
2026-06-03T22:00:56.7242886Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-03T22:00:56.7242969Z               "line": 360
2026-06-03T22:00:56.7243049Z             },
2026-06-03T22:00:56.7243131Z             {
2026-06-03T22:00:56.7243252Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T22:00:56.7243337Z               "line": 46
2026-06-03T22:00:56.7243417Z             },
2026-06-03T22:00:56.7243498Z             {
2026-06-03T22:00:56.7243618Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T22:00:56.7243705Z               "line": 150
2026-06-03T22:00:56.7243787Z             }
2026-06-03T22:00:56.7243865Z           ]
2026-06-03T22:00:56.7243948Z         },
2026-06-03T22:00:56.7244026Z         "int": {
2026-06-03T22:00:56.7244245Z           "complete": true,
2026-06-03T22:00:56.7244333Z           "evidence": [
2026-06-03T22:00:56.7244516Z             {
2026-06-03T22:00:56.7244663Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-03T22:00:56.7244748Z               "line": 27
2026-06-03T22:00:56.7244833Z             }
2026-06-03T22:00:56.7244911Z           ]
2026-06-03T22:00:56.7244995Z         },
2026-06-03T22:00:56.7245075Z         "unit": {
2026-06-03T22:00:56.7245166Z           "complete": true,
2026-06-03T22:00:56.7245255Z           "evidence": [
2026-06-03T22:00:56.7245332Z             {
2026-06-03T22:00:56.7245455Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T22:00:56.7245538Z               "line": 272
2026-06-03T22:00:56.7245619Z             },
2026-06-03T22:00:56.7245695Z             {
2026-06-03T22:00:56.7245816Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T22:00:56.7245904Z               "line": 290
2026-06-03T22:00:56.7245981Z             },
2026-06-03T22:00:56.7246067Z             {
2026-06-03T22:00:56.7246186Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-03T22:00:56.7246279Z               "line": 308
2026-06-03T22:00:56.7246357Z             }
2026-06-03T22:00:56.7246438Z           ]
2026-06-03T22:00:56.7246519Z         }
2026-06-03T22:00:56.7246595Z       }
2026-06-03T22:00:56.7246673Z     },
2026-06-03T22:00:56.7246748Z     {
2026-06-03T22:00:56.7246874Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-03T22:00:56.7247101Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-03T22:00:56.7247197Z       "requiredStages": [
2026-06-03T22:00:56.7247280Z         "impl",
2026-06-03T22:00:56.7247357Z         "unit"
2026-06-03T22:00:56.7247434Z       ],
2026-06-03T22:00:56.7247514Z       "stages": {
2026-06-03T22:00:56.7247596Z         "doc": {
2026-06-03T22:00:56.7247688Z           "complete": false,
2026-06-03T22:00:56.7247778Z           "evidence": []
2026-06-03T22:00:56.7247860Z         },
2026-06-03T22:00:56.7247947Z         "impl": {
2026-06-03T22:00:56.7248040Z           "complete": true,
2026-06-03T22:00:56.7248129Z           "evidence": [
2026-06-03T22:00:56.7248210Z             {
2026-06-03T22:00:56.7248339Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7248427Z               "line": 33
2026-06-03T22:00:56.7248507Z             },
2026-06-03T22:00:56.7248584Z             {
2026-06-03T22:00:56.7248705Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7248788Z               "line": 61
2026-06-03T22:00:56.7248867Z             },
2026-06-03T22:00:56.7248942Z             {
2026-06-03T22:00:56.7249062Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7249146Z               "line": 70
2026-06-03T22:00:56.7249224Z             },
2026-06-03T22:00:56.7249304Z             {
2026-06-03T22:00:56.7249555Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7249647Z               "line": 79
2026-06-03T22:00:56.7249730Z             },
2026-06-03T22:00:56.7249810Z             {
2026-06-03T22:00:56.7249945Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7250029Z               "line": 86
2026-06-03T22:00:56.7250108Z             },
2026-06-03T22:00:56.7250192Z             {
2026-06-03T22:00:56.7250317Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7250400Z               "line": 93
2026-06-03T22:00:56.7250481Z             },
2026-06-03T22:00:56.7250560Z             {
2026-06-03T22:00:56.7250681Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7250767Z               "line": 160
2026-06-03T22:00:56.7250845Z             },
2026-06-03T22:00:56.7250924Z             {
2026-06-03T22:00:56.7251037Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7251124Z               "line": 172
2026-06-03T22:00:56.7251205Z             },
2026-06-03T22:00:56.7251289Z             {
2026-06-03T22:00:56.7251409Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7251619Z               "line": 259
2026-06-03T22:00:56.7251802Z             }
2026-06-03T22:00:56.7251883Z           ]
2026-06-03T22:00:56.7251965Z         },
2026-06-03T22:00:56.7252050Z         "int": {
2026-06-03T22:00:56.7252141Z           "complete": false,
2026-06-03T22:00:56.7252231Z           "evidence": []
2026-06-03T22:00:56.7252306Z         },
2026-06-03T22:00:56.7252392Z         "unit": {
2026-06-03T22:00:56.7252480Z           "complete": true,
2026-06-03T22:00:56.7252567Z           "evidence": [
2026-06-03T22:00:56.7252647Z             {
2026-06-03T22:00:56.7252767Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7252854Z               "line": 329
2026-06-03T22:00:56.7252931Z             },
2026-06-03T22:00:56.7253011Z             {
2026-06-03T22:00:56.7253128Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7253216Z               "line": 355
2026-06-03T22:00:56.7253296Z             },
2026-06-03T22:00:56.7253379Z             {
2026-06-03T22:00:56.7253495Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7253584Z               "line": 368
2026-06-03T22:00:56.7253666Z             },
2026-06-03T22:00:56.7253745Z             {
2026-06-03T22:00:56.7253859Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7253946Z               "line": 410
2026-06-03T22:00:56.7254023Z             }
2026-06-03T22:00:56.7254104Z           ]
2026-06-03T22:00:56.7254182Z         }
2026-06-03T22:00:56.7254261Z       }
2026-06-03T22:00:56.7254338Z     },
2026-06-03T22:00:56.7254418Z     {
2026-06-03T22:00:56.7254529Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-03T22:00:56.7254760Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-03T22:00:56.7254858Z       "requiredStages": [
2026-06-03T22:00:56.7254939Z         "impl",
2026-06-03T22:00:56.7255018Z         "unit"
2026-06-03T22:00:56.7255096Z       ],
2026-06-03T22:00:56.7255176Z       "stages": {
2026-06-03T22:00:56.7255260Z         "doc": {
2026-06-03T22:00:56.7255356Z           "complete": false,
2026-06-03T22:00:56.7255442Z           "evidence": []
2026-06-03T22:00:56.7255519Z         },
2026-06-03T22:00:56.7255603Z         "impl": {
2026-06-03T22:00:56.7255691Z           "complete": true,
2026-06-03T22:00:56.7255778Z           "evidence": [
2026-06-03T22:00:56.7255857Z             {
2026-06-03T22:00:56.7255976Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T22:00:56.7256062Z               "line": 107
2026-06-03T22:00:56.7256140Z             },
2026-06-03T22:00:56.7256221Z             {
2026-06-03T22:00:56.7256352Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.7256434Z               "line": 59
2026-06-03T22:00:56.7256517Z             }
2026-06-03T22:00:56.7256594Z           ]
2026-06-03T22:00:56.7256675Z         },
2026-06-03T22:00:56.7256754Z         "int": {
2026-06-03T22:00:56.7256846Z           "complete": false,
2026-06-03T22:00:56.7256942Z           "evidence": []
2026-06-03T22:00:56.7257019Z         },
2026-06-03T22:00:56.7257108Z         "unit": {
2026-06-03T22:00:56.7257196Z           "complete": true,
2026-06-03T22:00:56.7257286Z           "evidence": [
2026-06-03T22:00:56.7257363Z             {
2026-06-03T22:00:56.7257481Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T22:00:56.7257569Z               "line": 225
2026-06-03T22:00:56.7257648Z             },
2026-06-03T22:00:56.7257728Z             {
2026-06-03T22:00:56.7257852Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.7257943Z               "line": 237
2026-06-03T22:00:56.7258021Z             },
2026-06-03T22:00:56.7258104Z             {
2026-06-03T22:00:56.7258227Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.7258310Z               "line": 247
2026-06-03T22:00:56.7258391Z             }
2026-06-03T22:00:56.7258466Z           ]
2026-06-03T22:00:56.7258546Z         }
2026-06-03T22:00:56.7258622Z       }
2026-06-03T22:00:56.7258790Z     },
2026-06-03T22:00:56.7258942Z     {
2026-06-03T22:00:56.7259055Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-03T22:00:56.7259210Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-03T22:00:56.7259305Z       "requiredStages": [],
2026-06-03T22:00:56.7259513Z       "stages": {
2026-06-03T22:00:56.7259597Z         "doc": {
2026-06-03T22:00:56.7259692Z           "complete": false,
2026-06-03T22:00:56.7259782Z           "evidence": []
2026-06-03T22:00:56.7259861Z         },
2026-06-03T22:00:56.7259944Z         "impl": {
2026-06-03T22:00:56.7260031Z           "complete": false,
2026-06-03T22:00:56.7260119Z           "evidence": []
2026-06-03T22:00:56.7260195Z         },
2026-06-03T22:00:56.7260280Z         "int": {
2026-06-03T22:00:56.7260982Z           "complete": false,
2026-06-03T22:00:56.7261069Z           "evidence": []
2026-06-03T22:00:56.7261150Z         },
2026-06-03T22:00:56.7261229Z         "unit": {
2026-06-03T22:00:56.7261320Z           "complete": false,
2026-06-03T22:00:56.7261411Z           "evidence": []
2026-06-03T22:00:56.7261496Z         }
2026-06-03T22:00:56.7261579Z       }
2026-06-03T22:00:56.7261654Z     },
2026-06-03T22:00:56.7261735Z     {
2026-06-03T22:00:56.7261864Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-03T22:00:56.7262056Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-03T22:00:56.7262149Z       "requiredStages": [
2026-06-03T22:00:56.7262233Z         "impl",
2026-06-03T22:00:56.7262315Z         "unit"
2026-06-03T22:00:56.7262391Z       ],
2026-06-03T22:00:56.7262474Z       "stages": {
2026-06-03T22:00:56.7262553Z         "doc": {
2026-06-03T22:00:56.7262646Z           "complete": false,
2026-06-03T22:00:56.7262732Z           "evidence": []
2026-06-03T22:00:56.7262810Z         },
2026-06-03T22:00:56.7262896Z         "impl": {
2026-06-03T22:00:56.7262985Z           "complete": true,
2026-06-03T22:00:56.7263073Z           "evidence": [
2026-06-03T22:00:56.7263151Z             {
2026-06-03T22:00:56.7263295Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.7263384Z               "line": 347
2026-06-03T22:00:56.7263467Z             },
2026-06-03T22:00:56.7263546Z             {
2026-06-03T22:00:56.7263670Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T22:00:56.7263757Z               "line": 28
2026-06-03T22:00:56.7263833Z             }
2026-06-03T22:00:56.7263914Z           ]
2026-06-03T22:00:56.7263990Z         },
2026-06-03T22:00:56.7264072Z         "int": {
2026-06-03T22:00:56.7264162Z           "complete": false,
2026-06-03T22:00:56.7264246Z           "evidence": []
2026-06-03T22:00:56.7264327Z         },
2026-06-03T22:00:56.7264407Z         "unit": {
2026-06-03T22:00:56.7264499Z           "complete": true,
2026-06-03T22:00:56.7264584Z           "evidence": [
2026-06-03T22:00:56.7264664Z             {
2026-06-03T22:00:56.7264787Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-03T22:00:56.7264870Z               "line": 199
2026-06-03T22:00:56.7264955Z             }
2026-06-03T22:00:56.7265037Z           ]
2026-06-03T22:00:56.7265117Z         }
2026-06-03T22:00:56.7265194Z       }
2026-06-03T22:00:56.7265271Z     },
2026-06-03T22:00:56.7265349Z     {
2026-06-03T22:00:56.7265459Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-03T22:00:56.7265604Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-03T22:00:56.7265696Z       "requiredStages": [],
2026-06-03T22:00:56.7265780Z       "stages": {
2026-06-03T22:00:56.7265858Z         "doc": {
2026-06-03T22:00:56.7265949Z           "complete": false,
2026-06-03T22:00:56.7266039Z           "evidence": []
2026-06-03T22:00:56.7266116Z         },
2026-06-03T22:00:56.7266198Z         "impl": {
2026-06-03T22:00:56.7266285Z           "complete": false,
2026-06-03T22:00:56.7266371Z           "evidence": []
2026-06-03T22:00:56.7266446Z         },
2026-06-03T22:00:56.7266530Z         "int": {
2026-06-03T22:00:56.7266622Z           "complete": false,
2026-06-03T22:00:56.7266829Z           "evidence": []
2026-06-03T22:00:56.7267007Z         },
2026-06-03T22:00:56.7267087Z         "unit": {
2026-06-03T22:00:56.7267182Z           "complete": false,
2026-06-03T22:00:56.7267268Z           "evidence": []
2026-06-03T22:00:56.7267352Z         }
2026-06-03T22:00:56.7267432Z       }
2026-06-03T22:00:56.7267508Z     },
2026-06-03T22:00:56.7267586Z     {
2026-06-03T22:00:56.7267701Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-03T22:00:56.7267867Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-03T22:00:56.7267960Z       "requiredStages": [
2026-06-03T22:00:56.7268043Z         "impl",
2026-06-03T22:00:56.7268127Z         "unit"
2026-06-03T22:00:56.7268206Z       ],
2026-06-03T22:00:56.7268292Z       "stages": {
2026-06-03T22:00:56.7268371Z         "doc": {
2026-06-03T22:00:56.7268466Z           "complete": false,
2026-06-03T22:00:56.7268552Z           "evidence": []
2026-06-03T22:00:56.7268631Z         },
2026-06-03T22:00:56.7268712Z         "impl": {
2026-06-03T22:00:56.7268805Z           "complete": true,
2026-06-03T22:00:56.7268898Z           "evidence": [
2026-06-03T22:00:56.7268975Z             {
2026-06-03T22:00:56.7269107Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7269191Z               "line": 325
2026-06-03T22:00:56.7269271Z             },
2026-06-03T22:00:56.7269582Z             {
2026-06-03T22:00:56.7269829Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7269922Z               "line": 361
2026-06-03T22:00:56.7270002Z             }
2026-06-03T22:00:56.7270084Z           ]
2026-06-03T22:00:56.7270160Z         },
2026-06-03T22:00:56.7270240Z         "int": {
2026-06-03T22:00:56.7270345Z           "complete": false,
2026-06-03T22:00:56.7270431Z           "evidence": []
2026-06-03T22:00:56.7270512Z         },
2026-06-03T22:00:56.7270592Z         "unit": {
2026-06-03T22:00:56.7270683Z           "complete": true,
2026-06-03T22:00:56.7270771Z           "evidence": [
2026-06-03T22:00:56.7270862Z             {
2026-06-03T22:00:56.7271003Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7271096Z               "line": 453
2026-06-03T22:00:56.7271176Z             }
2026-06-03T22:00:56.7271255Z           ]
2026-06-03T22:00:56.7271333Z         }
2026-06-03T22:00:56.7271410Z       }
2026-06-03T22:00:56.7271490Z     },
2026-06-03T22:00:56.7271569Z     {
2026-06-03T22:00:56.7271685Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-03T22:00:56.7271865Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-03T22:00:56.7271958Z       "requiredStages": [
2026-06-03T22:00:56.7272043Z         "impl",
2026-06-03T22:00:56.7272122Z         "unit"
2026-06-03T22:00:56.7272204Z       ],
2026-06-03T22:00:56.7272288Z       "stages": {
2026-06-03T22:00:56.7272366Z         "doc": {
2026-06-03T22:00:56.7272458Z           "complete": false,
2026-06-03T22:00:56.7272545Z           "evidence": []
2026-06-03T22:00:56.7272626Z         },
2026-06-03T22:00:56.7272713Z         "impl": {
2026-06-03T22:00:56.7272842Z           "complete": true,
2026-06-03T22:00:56.7272939Z           "evidence": [
2026-06-03T22:00:56.7273017Z             {
2026-06-03T22:00:56.7273146Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7273230Z               "line": 35
2026-06-03T22:00:56.7273312Z             }
2026-06-03T22:00:56.7273389Z           ]
2026-06-03T22:00:56.7273468Z         },
2026-06-03T22:00:56.7273550Z         "int": {
2026-06-03T22:00:56.7273638Z           "complete": false,
2026-06-03T22:00:56.7273724Z           "evidence": []
2026-06-03T22:00:56.7273801Z         },
2026-06-03T22:00:56.7273881Z         "unit": {
2026-06-03T22:00:56.7273968Z           "complete": true,
2026-06-03T22:00:56.7274055Z           "evidence": [
2026-06-03T22:00:56.7274134Z             {
2026-06-03T22:00:56.7274255Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-03T22:00:56.7274345Z               "line": 217
2026-06-03T22:00:56.7274422Z             }
2026-06-03T22:00:56.7274735Z           ]
2026-06-03T22:00:56.7274812Z         }
2026-06-03T22:00:56.7274994Z       }
2026-06-03T22:00:56.7275075Z     },
2026-06-03T22:00:56.7275152Z     {
2026-06-03T22:00:56.7275264Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-03T22:00:56.7275577Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-03T22:00:56.7275673Z       "requiredStages": [
2026-06-03T22:00:56.7275751Z         "impl",
2026-06-03T22:00:56.7275834Z         "unit"
2026-06-03T22:00:56.7275916Z       ],
2026-06-03T22:00:56.7275996Z       "stages": {
2026-06-03T22:00:56.7276079Z         "doc": {
2026-06-03T22:00:56.7276167Z           "complete": false,
2026-06-03T22:00:56.7276257Z           "evidence": []
2026-06-03T22:00:56.7276334Z         },
2026-06-03T22:00:56.7276418Z         "impl": {
2026-06-03T22:00:56.7276512Z           "complete": true,
2026-06-03T22:00:56.7276596Z           "evidence": [
2026-06-03T22:00:56.7276677Z             {
2026-06-03T22:00:56.7276815Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7276911Z               "line": 159
2026-06-03T22:00:56.7276990Z             },
2026-06-03T22:00:56.7277073Z             {
2026-06-03T22:00:56.7277203Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7277287Z               "line": 150
2026-06-03T22:00:56.7277369Z             }
2026-06-03T22:00:56.7277447Z           ]
2026-06-03T22:00:56.7277527Z         },
2026-06-03T22:00:56.7277605Z         "int": {
2026-06-03T22:00:56.7277697Z           "complete": false,
2026-06-03T22:00:56.7277786Z           "evidence": []
2026-06-03T22:00:56.7277863Z         },
2026-06-03T22:00:56.7277945Z         "unit": {
2026-06-03T22:00:56.7278033Z           "complete": true,
2026-06-03T22:00:56.7278123Z           "evidence": [
2026-06-03T22:00:56.7278201Z             {
2026-06-03T22:00:56.7278327Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7278416Z               "line": 382
2026-06-03T22:00:56.7278499Z             },
2026-06-03T22:00:56.7278587Z             {
2026-06-03T22:00:56.7278709Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7278799Z               "line": 393
2026-06-03T22:00:56.7278876Z             },
2026-06-03T22:00:56.7278956Z             {
2026-06-03T22:00:56.7279082Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7279165Z               "line": 409
2026-06-03T22:00:56.7279243Z             },
2026-06-03T22:00:56.7279318Z             {
2026-06-03T22:00:56.7279579Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7279667Z               "line": 423
2026-06-03T22:00:56.7279751Z             }
2026-06-03T22:00:56.7279833Z           ]
2026-06-03T22:00:56.7279910Z         }
2026-06-03T22:00:56.7279994Z       }
2026-06-03T22:00:56.7280075Z     },
2026-06-03T22:00:56.7280159Z     {
2026-06-03T22:00:56.7280282Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-03T22:00:56.7280471Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-03T22:00:56.7280575Z       "requiredStages": [
2026-06-03T22:00:56.7280655Z         "impl",
2026-06-03T22:00:56.7280736Z         "unit"
2026-06-03T22:00:56.7280812Z       ],
2026-06-03T22:00:56.7280894Z       "stages": {
2026-06-03T22:00:56.7280971Z         "doc": {
2026-06-03T22:00:56.7281064Z           "complete": false,
2026-06-03T22:00:56.7281151Z           "evidence": []
2026-06-03T22:00:56.7281226Z         },
2026-06-03T22:00:56.7281308Z         "impl": {
2026-06-03T22:00:56.7281394Z           "complete": true,
2026-06-03T22:00:56.7281481Z           "evidence": [
2026-06-03T22:00:56.7281559Z             {
2026-06-03T22:00:56.7281685Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7281771Z               "line": 92
2026-06-03T22:00:56.7281849Z             },
2026-06-03T22:00:56.7281927Z             {
2026-06-03T22:00:56.7282047Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7282262Z               "line": 96
2026-06-03T22:00:56.7282338Z             }
2026-06-03T22:00:56.7282521Z           ]
2026-06-03T22:00:56.7288714Z         },
2026-06-03T22:00:56.7288854Z         "int": {
2026-06-03T22:00:56.7288962Z           "complete": false,
2026-06-03T22:00:56.7289052Z           "evidence": []
2026-06-03T22:00:56.7289134Z         },
2026-06-03T22:00:56.7289216Z         "unit": {
2026-06-03T22:00:56.7289314Z           "complete": true,
2026-06-03T22:00:56.7289761Z           "evidence": [
2026-06-03T22:00:56.7289861Z             {
2026-06-03T22:00:56.7290006Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7290096Z               "line": 235
2026-06-03T22:00:56.7290179Z             },
2026-06-03T22:00:56.7290256Z             {
2026-06-03T22:00:56.7290393Z               "path": "crates/spt-store/src/proc.rs",
2026-06-03T22:00:56.7290480Z               "line": 120
2026-06-03T22:00:56.7290563Z             },
2026-06-03T22:00:56.7290644Z             {
2026-06-03T22:00:56.7290785Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7290879Z               "line": 375
2026-06-03T22:00:56.7290957Z             },
2026-06-03T22:00:56.7291037Z             {
2026-06-03T22:00:56.7291154Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7291239Z               "line": 405
2026-06-03T22:00:56.7291321Z             }
2026-06-03T22:00:56.7291396Z           ]
2026-06-03T22:00:56.7291474Z         }
2026-06-03T22:00:56.7291551Z       }
2026-06-03T22:00:56.7291630Z     },
2026-06-03T22:00:56.7291708Z     {
2026-06-03T22:00:56.7291821Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-03T22:00:56.7292045Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-03T22:00:56.7292140Z       "requiredStages": [
2026-06-03T22:00:56.7292225Z         "impl",
2026-06-03T22:00:56.7292305Z         "unit"
2026-06-03T22:00:56.7292390Z       ],
2026-06-03T22:00:56.7292471Z       "stages": {
2026-06-03T22:00:56.7292554Z         "doc": {
2026-06-03T22:00:56.7292655Z           "complete": false,
2026-06-03T22:00:56.7292747Z           "evidence": []
2026-06-03T22:00:56.7292829Z         },
2026-06-03T22:00:56.7292909Z         "impl": {
2026-06-03T22:00:56.7293006Z           "complete": true,
2026-06-03T22:00:56.7293091Z           "evidence": [
2026-06-03T22:00:56.7293175Z             {
2026-06-03T22:00:56.7293304Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7293389Z               "line": 116
2026-06-03T22:00:56.7293474Z             },
2026-06-03T22:00:56.7293551Z             {
2026-06-03T22:00:56.7293676Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7293764Z               "line": 161
2026-06-03T22:00:56.7293841Z             },
2026-06-03T22:00:56.7293922Z             {
2026-06-03T22:00:56.7294038Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7294124Z               "line": 173
2026-06-03T22:00:56.7294201Z             }
2026-06-03T22:00:56.7294281Z           ]
2026-06-03T22:00:56.7294366Z         },
2026-06-03T22:00:56.7294450Z         "int": {
2026-06-03T22:00:56.7294544Z           "complete": false,
2026-06-03T22:00:56.7294631Z           "evidence": []
2026-06-03T22:00:56.7294711Z         },
2026-06-03T22:00:56.7294790Z         "unit": {
2026-06-03T22:00:56.7294886Z           "complete": true,
2026-06-03T22:00:56.7294971Z           "evidence": [
2026-06-03T22:00:56.7295055Z             {
2026-06-03T22:00:56.7295177Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7295259Z               "line": 309
2026-06-03T22:00:56.7295341Z             },
2026-06-03T22:00:56.7295417Z             {
2026-06-03T22:00:56.7295536Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7295624Z               "line": 338
2026-06-03T22:00:56.7295703Z             }
2026-06-03T22:00:56.7295784Z           ]
2026-06-03T22:00:56.7295862Z         }
2026-06-03T22:00:56.7295943Z       }
2026-06-03T22:00:56.7296021Z     },
2026-06-03T22:00:56.7296271Z     {
2026-06-03T22:00:56.7296364Z       "id": "REQ-INFRA-1",
2026-06-03T22:00:56.7296712Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-03T22:00:56.7296814Z       "requiredStages": [],
2026-06-03T22:00:56.7296897Z       "stages": {
2026-06-03T22:00:56.7296981Z         "doc": {
2026-06-03T22:00:56.7297070Z           "complete": false,
2026-06-03T22:00:56.7297161Z           "evidence": []
2026-06-03T22:00:56.7297241Z         },
2026-06-03T22:00:56.7297321Z         "impl": {
2026-06-03T22:00:56.7297414Z           "complete": false,
2026-06-03T22:00:56.7297499Z           "evidence": []
2026-06-03T22:00:56.7297579Z         },
2026-06-03T22:00:56.7297659Z         "int": {
2026-06-03T22:00:56.7297749Z           "complete": false,
2026-06-03T22:00:56.7297839Z           "evidence": []
2026-06-03T22:00:56.7297917Z         },
2026-06-03T22:00:56.7298000Z         "unit": {
2026-06-03T22:00:56.7298089Z           "complete": false,
2026-06-03T22:00:56.7298175Z           "evidence": []
2026-06-03T22:00:56.7298258Z         }
2026-06-03T22:00:56.7298343Z       }
2026-06-03T22:00:56.7298420Z     },
2026-06-03T22:00:56.7298501Z     {
2026-06-03T22:00:56.7298595Z       "id": "REQ-INST-1",
2026-06-03T22:00:56.7298776Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-03T22:00:56.7298874Z       "requiredStages": [],
2026-06-03T22:00:56.7298955Z       "stages": {
2026-06-03T22:00:56.7299036Z         "doc": {
2026-06-03T22:00:56.7299123Z           "complete": false,
2026-06-03T22:00:56.7299212Z           "evidence": []
2026-06-03T22:00:56.7299290Z         },
2026-06-03T22:00:56.7299509Z         "impl": {
2026-06-03T22:00:56.7299607Z           "complete": false,
2026-06-03T22:00:56.7299694Z           "evidence": []
2026-06-03T22:00:56.7299776Z         },
2026-06-03T22:00:56.7299853Z         "int": {
2026-06-03T22:00:56.7299945Z           "complete": false,
2026-06-03T22:00:56.7300033Z           "evidence": []
2026-06-03T22:00:56.7300110Z         },
2026-06-03T22:00:56.7300198Z         "unit": {
2026-06-03T22:00:56.7300291Z           "complete": false,
2026-06-03T22:00:56.7300392Z           "evidence": []
2026-06-03T22:00:56.7300471Z         }
2026-06-03T22:00:56.7300553Z       }
2026-06-03T22:00:56.7300633Z     },
2026-06-03T22:00:56.7300710Z     {
2026-06-03T22:00:56.7300804Z       "id": "REQ-INST-10",
2026-06-03T22:00:56.7301053Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-03T22:00:56.7301152Z       "requiredStages": [],
2026-06-03T22:00:56.7301233Z       "stages": {
2026-06-03T22:00:56.7301317Z         "doc": {
2026-06-03T22:00:56.7301409Z           "complete": false,
2026-06-03T22:00:56.7301498Z           "evidence": []
2026-06-03T22:00:56.7301581Z         },
2026-06-03T22:00:56.7301661Z         "impl": {
2026-06-03T22:00:56.7301754Z           "complete": false,
2026-06-03T22:00:56.7301839Z           "evidence": []
2026-06-03T22:00:56.7301919Z         },
2026-06-03T22:00:56.7301999Z         "int": {
2026-06-03T22:00:56.7302091Z           "complete": false,
2026-06-03T22:00:56.7302182Z           "evidence": []
2026-06-03T22:00:56.7302260Z         },
2026-06-03T22:00:56.7302342Z         "unit": {
2026-06-03T22:00:56.7302430Z           "complete": false,
2026-06-03T22:00:56.7302517Z           "evidence": []
2026-06-03T22:00:56.7302597Z         }
2026-06-03T22:00:56.7302676Z       }
2026-06-03T22:00:56.7302754Z     },
2026-06-03T22:00:56.7302829Z     {
2026-06-03T22:00:56.7302925Z       "id": "REQ-INST-11",
2026-06-03T22:00:56.7303202Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-03T22:00:56.7303302Z       "requiredStages": [],
2026-06-03T22:00:56.7303390Z       "stages": {
2026-06-03T22:00:56.7303470Z         "doc": {
2026-06-03T22:00:56.7303565Z           "complete": false,
2026-06-03T22:00:56.7303649Z           "evidence": []
2026-06-03T22:00:56.7303729Z         },
2026-06-03T22:00:56.7303813Z         "impl": {
2026-06-03T22:00:56.7303907Z           "complete": false,
2026-06-03T22:00:56.7304121Z           "evidence": []
2026-06-03T22:00:56.7304316Z         },
2026-06-03T22:00:56.7304401Z         "int": {
2026-06-03T22:00:56.7304492Z           "complete": false,
2026-06-03T22:00:56.7304583Z           "evidence": []
2026-06-03T22:00:56.7304662Z         },
2026-06-03T22:00:56.7304750Z         "unit": {
2026-06-03T22:00:56.7304841Z           "complete": false,
2026-06-03T22:00:56.7304928Z           "evidence": []
2026-06-03T22:00:56.7305009Z         }
2026-06-03T22:00:56.7305087Z       }
2026-06-03T22:00:56.7305169Z     },
2026-06-03T22:00:56.7305248Z     {
2026-06-03T22:00:56.7305345Z       "id": "REQ-INST-12",
2026-06-03T22:00:56.7305713Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-03T22:00:56.7305809Z       "requiredStages": [],
2026-06-03T22:00:56.7305899Z       "stages": {
2026-06-03T22:00:56.7305980Z         "doc": {
2026-06-03T22:00:56.7306076Z           "complete": false,
2026-06-03T22:00:56.7306169Z           "evidence": []
2026-06-03T22:00:56.7306258Z         },
2026-06-03T22:00:56.7306343Z         "impl": {
2026-06-03T22:00:56.7306430Z           "complete": false,
2026-06-03T22:00:56.7306521Z           "evidence": []
2026-06-03T22:00:56.7306600Z         },
2026-06-03T22:00:56.7306687Z         "int": {
2026-06-03T22:00:56.7306777Z           "complete": false,
2026-06-03T22:00:56.7306867Z           "evidence": []
2026-06-03T22:00:56.7306948Z         },
2026-06-03T22:00:56.7307029Z         "unit": {
2026-06-03T22:00:56.7307121Z           "complete": false,
2026-06-03T22:00:56.7307207Z           "evidence": []
2026-06-03T22:00:56.7307289Z         }
2026-06-03T22:00:56.7307367Z       }
2026-06-03T22:00:56.7307447Z     },
2026-06-03T22:00:56.7307529Z     {
2026-06-03T22:00:56.7307619Z       "id": "REQ-INST-13",
2026-06-03T22:00:56.7307841Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-03T22:00:56.7307934Z       "requiredStages": [],
2026-06-03T22:00:56.7308023Z       "stages": {
2026-06-03T22:00:56.7308108Z         "doc": {
2026-06-03T22:00:56.7308201Z           "complete": false,
2026-06-03T22:00:56.7308290Z           "evidence": []
2026-06-03T22:00:56.7308368Z         },
2026-06-03T22:00:56.7308453Z         "impl": {
2026-06-03T22:00:56.7308542Z           "complete": false,
2026-06-03T22:00:56.7308635Z           "evidence": []
2026-06-03T22:00:56.7308714Z         },
2026-06-03T22:00:56.7308797Z         "int": {
2026-06-03T22:00:56.7308888Z           "complete": false,
2026-06-03T22:00:56.7308974Z           "evidence": []
2026-06-03T22:00:56.7309061Z         },
2026-06-03T22:00:56.7309141Z         "unit": {
2026-06-03T22:00:56.7309233Z           "complete": false,
2026-06-03T22:00:56.7309319Z           "evidence": []
2026-06-03T22:00:56.7309699Z         }
2026-06-03T22:00:56.7309863Z       }
2026-06-03T22:00:56.7309966Z     },
2026-06-03T22:00:56.7310050Z     {
2026-06-03T22:00:56.7310155Z       "id": "REQ-INST-14",
2026-06-03T22:00:56.7310678Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-03T22:00:56.7310781Z       "requiredStages": [],
2026-06-03T22:00:56.7310869Z       "stages": {
2026-06-03T22:00:56.7310952Z         "doc": {
2026-06-03T22:00:56.7311042Z           "complete": false,
2026-06-03T22:00:56.7311131Z           "evidence": []
2026-06-03T22:00:56.7311209Z         },
2026-06-03T22:00:56.7311291Z         "impl": {
2026-06-03T22:00:56.7311380Z           "complete": false,
2026-06-03T22:00:56.7311472Z           "evidence": []
2026-06-03T22:00:56.7311553Z         },
2026-06-03T22:00:56.7311632Z         "int": {
2026-06-03T22:00:56.7311725Z           "complete": false,
2026-06-03T22:00:56.7311809Z           "evidence": []
2026-06-03T22:00:56.7311890Z         },
2026-06-03T22:00:56.7311971Z         "unit": {
2026-06-03T22:00:56.7312066Z           "complete": false,
2026-06-03T22:00:56.7312158Z           "evidence": []
2026-06-03T22:00:56.7312380Z         }
2026-06-03T22:00:56.7312463Z       }
2026-06-03T22:00:56.7312642Z     },
2026-06-03T22:00:56.7312726Z     {
2026-06-03T22:00:56.7312817Z       "id": "REQ-INST-15",
2026-06-03T22:00:56.7313756Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-03T22:00:56.7313858Z       "requiredStages": [],
2026-06-03T22:00:56.7313941Z       "stages": {
2026-06-03T22:00:56.7314027Z         "doc": {
2026-06-03T22:00:56.7314119Z           "complete": false,
2026-06-03T22:00:56.7314211Z           "evidence": []
2026-06-03T22:00:56.7314294Z         },
2026-06-03T22:00:56.7314375Z         "impl": {
2026-06-03T22:00:56.7314468Z           "complete": false,
2026-06-03T22:00:56.7314554Z           "evidence": []
2026-06-03T22:00:56.7314636Z         },
2026-06-03T22:00:56.7314722Z         "int": {
2026-06-03T22:00:56.7314817Z           "complete": false,
2026-06-03T22:00:56.7314913Z           "evidence": []
2026-06-03T22:00:56.7314991Z         },
2026-06-03T22:00:56.7315074Z         "unit": {
2026-06-03T22:00:56.7315163Z           "complete": false,
2026-06-03T22:00:56.7315253Z           "evidence": []
2026-06-03T22:00:56.7315334Z         }
2026-06-03T22:00:56.7315417Z       }
2026-06-03T22:00:56.7315497Z     },
2026-06-03T22:00:56.7315573Z     {
2026-06-03T22:00:56.7315665Z       "id": "REQ-INST-2",
2026-06-03T22:00:56.7315801Z       "title": "Per-node files, synced Psyche mind",
2026-06-03T22:00:56.7315900Z       "requiredStages": [],
2026-06-03T22:00:56.7315981Z       "stages": {
2026-06-03T22:00:56.7316063Z         "doc": {
2026-06-03T22:00:56.7316156Z           "complete": false,
2026-06-03T22:00:56.7316243Z           "evidence": []
2026-06-03T22:00:56.7316326Z         },
2026-06-03T22:00:56.7316406Z         "impl": {
2026-06-03T22:00:56.7316499Z           "complete": false,
2026-06-03T22:00:56.7316588Z           "evidence": []
2026-06-03T22:00:56.7316676Z         },
2026-06-03T22:00:56.7316759Z         "int": {
2026-06-03T22:00:56.7316848Z           "complete": false,
2026-06-03T22:00:56.7316937Z           "evidence": []
2026-06-03T22:00:56.7317016Z         },
2026-06-03T22:00:56.7317101Z         "unit": {
2026-06-03T22:00:56.7317187Z           "complete": false,
2026-06-03T22:00:56.7317278Z           "evidence": []
2026-06-03T22:00:56.7317362Z         }
2026-06-03T22:00:56.7317440Z       }
2026-06-03T22:00:56.7317521Z     },
2026-06-03T22:00:56.7317598Z     {
2026-06-03T22:00:56.7317692Z       "id": "REQ-INST-3",
2026-06-03T22:00:56.7317866Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-03T22:00:56.7317966Z       "requiredStages": [],
2026-06-03T22:00:56.7318053Z       "stages": {
2026-06-03T22:00:56.7318138Z         "doc": {
2026-06-03T22:00:56.7318232Z           "complete": false,
2026-06-03T22:00:56.7318320Z           "evidence": []
2026-06-03T22:00:56.7318406Z         },
2026-06-03T22:00:56.7318491Z         "impl": {
2026-06-03T22:00:56.7318584Z           "complete": false,
2026-06-03T22:00:56.7318676Z           "evidence": []
2026-06-03T22:00:56.7318760Z         },
2026-06-03T22:00:56.7318843Z         "int": {
2026-06-03T22:00:56.7318932Z           "complete": false,
2026-06-03T22:00:56.7319024Z           "evidence": []
2026-06-03T22:00:56.7319103Z         },
2026-06-03T22:00:56.7319190Z         "unit": {
2026-06-03T22:00:56.7319286Z           "complete": false,
2026-06-03T22:00:56.7319532Z           "evidence": []
2026-06-03T22:00:56.7319621Z         }
2026-06-03T22:00:56.7319702Z       }
2026-06-03T22:00:56.7319783Z     },
2026-06-03T22:00:56.7319859Z     {
2026-06-03T22:00:56.7319953Z       "id": "REQ-INST-4",
2026-06-03T22:00:56.7320155Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-03T22:00:56.7320252Z       "requiredStages": [],
2026-06-03T22:00:56.7320336Z       "stages": {
2026-06-03T22:00:56.7320537Z         "doc": {
2026-06-03T22:00:56.7320629Z           "complete": false,
2026-06-03T22:00:56.7320815Z           "evidence": []
2026-06-03T22:00:56.7320899Z         },
2026-06-03T22:00:56.7320987Z         "impl": {
2026-06-03T22:00:56.7321077Z           "complete": false,
2026-06-03T22:00:56.7321167Z           "evidence": []
2026-06-03T22:00:56.7321245Z         },
2026-06-03T22:00:56.7321327Z         "int": {
2026-06-03T22:00:56.7321415Z           "complete": false,
2026-06-03T22:00:56.7321504Z           "evidence": []
2026-06-03T22:00:56.7321582Z         },
2026-06-03T22:00:56.7321667Z         "unit": {
2026-06-03T22:00:56.7321761Z           "complete": false,
2026-06-03T22:00:56.7321851Z           "evidence": []
2026-06-03T22:00:56.7321934Z         }
2026-06-03T22:00:56.7322012Z       }
2026-06-03T22:00:56.7322096Z     },
2026-06-03T22:00:56.7322179Z     {
2026-06-03T22:00:56.7322266Z       "id": "REQ-INST-5",
2026-06-03T22:00:56.7322482Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-03T22:00:56.7322584Z       "requiredStages": [],
2026-06-03T22:00:56.7322674Z       "stages": {
2026-06-03T22:00:56.7322753Z         "doc": {
2026-06-03T22:00:56.7322848Z           "complete": false,
2026-06-03T22:00:56.7322935Z           "evidence": []
2026-06-03T22:00:56.7323012Z         },
2026-06-03T22:00:56.7323096Z         "impl": {
2026-06-03T22:00:56.7323183Z           "complete": false,
2026-06-03T22:00:56.7323270Z           "evidence": []
2026-06-03T22:00:56.7323348Z         },
2026-06-03T22:00:56.7323430Z         "int": {
2026-06-03T22:00:56.7323520Z           "complete": false,
2026-06-03T22:00:56.7323603Z           "evidence": []
2026-06-03T22:00:56.7323682Z         },
2026-06-03T22:00:56.7323761Z         "unit": {
2026-06-03T22:00:56.7323852Z           "complete": false,
2026-06-03T22:00:56.7323937Z           "evidence": []
2026-06-03T22:00:56.7324017Z         }
2026-06-03T22:00:56.7324096Z       }
2026-06-03T22:00:56.7324174Z     },
2026-06-03T22:00:56.7324254Z     {
2026-06-03T22:00:56.7324348Z       "id": "REQ-INST-6",
2026-06-03T22:00:56.7324574Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-03T22:00:56.7324668Z       "requiredStages": [],
2026-06-03T22:00:56.7324753Z       "stages": {
2026-06-03T22:00:56.7324834Z         "doc": {
2026-06-03T22:00:56.7324923Z           "complete": false,
2026-06-03T22:00:56.7325009Z           "evidence": []
2026-06-03T22:00:56.7325085Z         },
2026-06-03T22:00:56.7325167Z         "impl": {
2026-06-03T22:00:56.7325255Z           "complete": false,
2026-06-03T22:00:56.7325342Z           "evidence": []
2026-06-03T22:00:56.7325422Z         },
2026-06-03T22:00:56.7325501Z         "int": {
2026-06-03T22:00:56.7325591Z           "complete": false,
2026-06-03T22:00:56.7325674Z           "evidence": []
2026-06-03T22:00:56.7325751Z         },
2026-06-03T22:00:56.7325831Z         "unit": {
2026-06-03T22:00:56.7325921Z           "complete": false,
2026-06-03T22:00:56.7326009Z           "evidence": []
2026-06-03T22:00:56.7326089Z         }
2026-06-03T22:00:56.7326172Z       }
2026-06-03T22:00:56.7326247Z     },
2026-06-03T22:00:56.7326325Z     {
2026-06-03T22:00:56.7326413Z       "id": "REQ-INST-7",
2026-06-03T22:00:56.7326572Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-03T22:00:56.7326669Z       "requiredStages": [],
2026-06-03T22:00:56.7326750Z       "stages": {
2026-06-03T22:00:56.7326835Z         "doc": {
2026-06-03T22:00:56.7326923Z           "complete": false,
2026-06-03T22:00:56.7327014Z           "evidence": []
2026-06-03T22:00:56.7327091Z         },
2026-06-03T22:00:56.7327176Z         "impl": {
2026-06-03T22:00:56.7327270Z           "complete": true,
2026-06-03T22:00:56.7327356Z           "evidence": [
2026-06-03T22:00:56.7327439Z             {
2026-06-03T22:00:56.7327573Z               "path": "crates/spt-store/src/registry.rs",
2026-06-03T22:00:56.7327663Z               "line": 123
2026-06-03T22:00:56.7327742Z             }
2026-06-03T22:00:56.7327825Z           ]
2026-06-03T22:00:56.7327992Z         },
2026-06-03T22:00:56.7328145Z         "int": {
2026-06-03T22:00:56.7328237Z           "complete": false,
2026-06-03T22:00:56.7328322Z           "evidence": []
2026-06-03T22:00:56.7328402Z         },
2026-06-03T22:00:56.7328480Z         "unit": {
2026-06-03T22:00:56.7328571Z           "complete": false,
2026-06-03T22:00:56.7328660Z           "evidence": []
2026-06-03T22:00:56.7328740Z         }
2026-06-03T22:00:56.7328820Z       }
2026-06-03T22:00:56.7328895Z     },
2026-06-03T22:00:56.7328974Z     {
2026-06-03T22:00:56.7329064Z       "id": "REQ-INST-8",
2026-06-03T22:00:56.7329242Z       "title": "Remote-control mode distinct from local operation",
2026-06-03T22:00:56.7329467Z       "requiredStages": [],
2026-06-03T22:00:56.7329554Z       "stages": {
2026-06-03T22:00:56.7329638Z         "doc": {
2026-06-03T22:00:56.7329727Z           "complete": false,
2026-06-03T22:00:56.7329815Z           "evidence": []
2026-06-03T22:00:56.7329892Z         },
2026-06-03T22:00:56.7329983Z         "impl": {
2026-06-03T22:00:56.7330074Z           "complete": false,
2026-06-03T22:00:56.7330165Z           "evidence": []
2026-06-03T22:00:56.7330243Z         },
2026-06-03T22:00:56.7330320Z         "int": {
2026-06-03T22:00:56.7330409Z           "complete": false,
2026-06-03T22:00:56.7330494Z           "evidence": []
2026-06-03T22:00:56.7330578Z         },
2026-06-03T22:00:56.7330657Z         "unit": {
2026-06-03T22:00:56.7330745Z           "complete": false,
2026-06-03T22:00:56.7330833Z           "evidence": []
2026-06-03T22:00:56.7330910Z         }
2026-06-03T22:00:56.7330988Z       }
2026-06-03T22:00:56.7331066Z     },
2026-06-03T22:00:56.7331145Z     {
2026-06-03T22:00:56.7331231Z       "id": "REQ-INST-9",
2026-06-03T22:00:56.7331446Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-03T22:00:56.7331541Z       "requiredStages": [],
2026-06-03T22:00:56.7331622Z       "stages": {
2026-06-03T22:00:56.7331706Z         "doc": {
2026-06-03T22:00:56.7331795Z           "complete": false,
2026-06-03T22:00:56.7331887Z           "evidence": []
2026-06-03T22:00:56.7331972Z         },
2026-06-03T22:00:56.7332053Z         "impl": {
2026-06-03T22:00:56.7332146Z           "complete": false,
2026-06-03T22:00:56.7332232Z           "evidence": []
2026-06-03T22:00:56.7332312Z         },
2026-06-03T22:00:56.7332389Z         "int": {
2026-06-03T22:00:56.7332479Z           "complete": false,
2026-06-03T22:00:56.7332565Z           "evidence": []
2026-06-03T22:00:56.7332646Z         },
2026-06-03T22:00:56.7332730Z         "unit": {
2026-06-03T22:00:56.7332818Z           "complete": false,
2026-06-03T22:00:56.7332906Z           "evidence": []
2026-06-03T22:00:56.7332982Z         }
2026-06-03T22:00:56.7333064Z       }
2026-06-03T22:00:56.7333140Z     },
2026-06-03T22:00:56.7333220Z     {
2026-06-03T22:00:56.7333315Z       "id": "REQ-INSTALL-1",
2026-06-03T22:00:56.7333537Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-03T22:00:56.7333638Z       "requiredStages": [],
2026-06-03T22:00:56.7333719Z       "stages": {
2026-06-03T22:00:56.7333805Z         "doc": {
2026-06-03T22:00:56.7333894Z           "complete": false,
2026-06-03T22:00:56.7333982Z           "evidence": []
2026-06-03T22:00:56.7334061Z         },
2026-06-03T22:00:56.7334140Z         "impl": {
2026-06-03T22:00:56.7334230Z           "complete": false,
2026-06-03T22:00:56.7334314Z           "evidence": []
2026-06-03T22:00:56.7334393Z         },
2026-06-03T22:00:56.7334472Z         "int": {
2026-06-03T22:00:56.7334563Z           "complete": false,
2026-06-03T22:00:56.7334653Z           "evidence": []
2026-06-03T22:00:56.7334732Z         },
2026-06-03T22:00:56.7334813Z         "unit": {
2026-06-03T22:00:56.7334901Z           "complete": false,
2026-06-03T22:00:56.7334989Z           "evidence": []
2026-06-03T22:00:56.7335067Z         }
2026-06-03T22:00:56.7335147Z       }
2026-06-03T22:00:56.7335226Z     },
2026-06-03T22:00:56.7335306Z     {
2026-06-03T22:00:56.7335398Z       "id": "REQ-INSTALL-2",
2026-06-03T22:00:56.7335674Z       "title": "Marketplace-repackaging-friendly install",
2026-06-03T22:00:56.7335867Z       "requiredStages": [],
2026-06-03T22:00:56.7335949Z       "stages": {
2026-06-03T22:00:56.7336031Z         "doc": {
2026-06-03T22:00:56.7336121Z           "complete": false,
2026-06-03T22:00:56.7336206Z           "evidence": []
2026-06-03T22:00:56.7336287Z         },
2026-06-03T22:00:56.7336368Z         "impl": {
2026-06-03T22:00:56.7336459Z           "complete": false,
2026-06-03T22:00:56.7336543Z           "evidence": []
2026-06-03T22:00:56.7336622Z         },
2026-06-03T22:00:56.7336703Z         "int": {
2026-06-03T22:00:56.7336789Z           "complete": false,
2026-06-03T22:00:56.7336878Z           "evidence": []
2026-06-03T22:00:56.7336957Z         },
2026-06-03T22:00:56.7337042Z         "unit": {
2026-06-03T22:00:56.7337130Z           "complete": false,
2026-06-03T22:00:56.7337219Z           "evidence": []
2026-06-03T22:00:56.7337301Z         }
2026-06-03T22:00:56.7337383Z       }
2026-06-03T22:00:56.7337464Z     },
2026-06-03T22:00:56.7337545Z     {
2026-06-03T22:00:56.7337638Z       "id": "REQ-INSTALL-3",
2026-06-03T22:00:56.7337791Z       "title": "Idempotent + interactive-optional first run",
2026-06-03T22:00:56.7337886Z       "requiredStages": [],
2026-06-03T22:00:56.7337969Z       "stages": {
2026-06-03T22:00:56.7338049Z         "doc": {
2026-06-03T22:00:56.7338140Z           "complete": false,
2026-06-03T22:00:56.7338226Z           "evidence": []
2026-06-03T22:00:56.7338310Z         },
2026-06-03T22:00:56.7338391Z         "impl": {
2026-06-03T22:00:56.7338485Z           "complete": false,
2026-06-03T22:00:56.7338574Z           "evidence": []
2026-06-03T22:00:56.7338653Z         },
2026-06-03T22:00:56.7338733Z         "int": {
2026-06-03T22:00:56.7338820Z           "complete": false,
2026-06-03T22:00:56.7338907Z           "evidence": []
2026-06-03T22:00:56.7338985Z         },
2026-06-03T22:00:56.7339066Z         "unit": {
2026-06-03T22:00:56.7339156Z           "complete": false,
2026-06-03T22:00:56.7339246Z           "evidence": []
2026-06-03T22:00:56.7339453Z         }
2026-06-03T22:00:56.7339536Z       }
2026-06-03T22:00:56.7339614Z     },
2026-06-03T22:00:56.7339689Z     {
2026-06-03T22:00:56.7339781Z       "id": "REQ-INSTALL-4",
2026-06-03T22:00:56.7340608Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-03T22:00:56.7340702Z       "requiredStages": [],
2026-06-03T22:00:56.7340785Z       "stages": {
2026-06-03T22:00:56.7340863Z         "doc": {
2026-06-03T22:00:56.7340951Z           "complete": false,
2026-06-03T22:00:56.7341039Z           "evidence": []
2026-06-03T22:00:56.7341116Z         },
2026-06-03T22:00:56.7341198Z         "impl": {
2026-06-03T22:00:56.7341286Z           "complete": false,
2026-06-03T22:00:56.7341373Z           "evidence": []
2026-06-03T22:00:56.7341455Z         },
2026-06-03T22:00:56.7341537Z         "int": {
2026-06-03T22:00:56.7341630Z           "complete": false,
2026-06-03T22:00:56.7341729Z           "evidence": []
2026-06-03T22:00:56.7341807Z         },
2026-06-03T22:00:56.7341887Z         "unit": {
2026-06-03T22:00:56.7341978Z           "complete": false,
2026-06-03T22:00:56.7342064Z           "evidence": []
2026-06-03T22:00:56.7342145Z         }
2026-06-03T22:00:56.7342221Z       }
2026-06-03T22:00:56.7342301Z     },
2026-06-03T22:00:56.7342380Z     {
2026-06-03T22:00:56.7342477Z       "id": "REQ-MANIFEST-1",
2026-06-03T22:00:56.7342699Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-03T22:00:56.7342790Z       "requiredStages": [
2026-06-03T22:00:56.7342870Z         "doc",
2026-06-03T22:00:56.7342952Z         "impl",
2026-06-03T22:00:56.7343033Z         "unit"
2026-06-03T22:00:56.7343112Z       ],
2026-06-03T22:00:56.7343193Z       "stages": {
2026-06-03T22:00:56.7343274Z         "doc": {
2026-06-03T22:00:56.7343487Z           "complete": true,
2026-06-03T22:00:56.7343674Z           "evidence": [
2026-06-03T22:00:56.7343757Z             {
2026-06-03T22:00:56.7343865Z               "path": "docs/MANIFEST.md",
2026-06-03T22:00:56.7343954Z               "line": 19
2026-06-03T22:00:56.7344031Z             }
2026-06-03T22:00:56.7344111Z           ]
2026-06-03T22:00:56.7344186Z         },
2026-06-03T22:00:56.7344270Z         "impl": {
2026-06-03T22:00:56.7344357Z           "complete": true,
2026-06-03T22:00:56.7344444Z           "evidence": [
2026-06-03T22:00:56.7344523Z             {
2026-06-03T22:00:56.7344659Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7344747Z               "line": 18
2026-06-03T22:00:56.7344824Z             }
2026-06-03T22:00:56.7344908Z           ]
2026-06-03T22:00:56.7344983Z         },
2026-06-03T22:00:56.7345065Z         "int": {
2026-06-03T22:00:56.7345157Z           "complete": false,
2026-06-03T22:00:56.7345242Z           "evidence": []
2026-06-03T22:00:56.7345334Z         },
2026-06-03T22:00:56.7345414Z         "unit": {
2026-06-03T22:00:56.7345510Z           "complete": true,
2026-06-03T22:00:56.7345595Z           "evidence": [
2026-06-03T22:00:56.7345675Z             {
2026-06-03T22:00:56.7345806Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7345890Z               "line": 695
2026-06-03T22:00:56.7345971Z             },
2026-06-03T22:00:56.7346048Z             {
2026-06-03T22:00:56.7346180Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7346265Z               "line": 791
2026-06-03T22:00:56.7346348Z             },
2026-06-03T22:00:56.7346429Z             {
2026-06-03T22:00:56.7346553Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7346644Z               "line": 803
2026-06-03T22:00:56.7346724Z             },
2026-06-03T22:00:56.7346809Z             {
2026-06-03T22:00:56.7346933Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7347026Z               "line": 811
2026-06-03T22:00:56.7347114Z             },
2026-06-03T22:00:56.7347192Z             {
2026-06-03T22:00:56.7347318Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7347407Z               "line": 828
2026-06-03T22:00:56.7347489Z             },
2026-06-03T22:00:56.7347573Z             {
2026-06-03T22:00:56.7347697Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7347785Z               "line": 842
2026-06-03T22:00:56.7347863Z             },
2026-06-03T22:00:56.7347942Z             {
2026-06-03T22:00:56.7348067Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7348153Z               "line": 857
2026-06-03T22:00:56.7348235Z             },
2026-06-03T22:00:56.7348312Z             {
2026-06-03T22:00:56.7348442Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7348525Z               "line": 872
2026-06-03T22:00:56.7348606Z             },
2026-06-03T22:00:56.7348689Z             {
2026-06-03T22:00:56.7348820Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7348912Z               "line": 887
2026-06-03T22:00:56.7348991Z             },
2026-06-03T22:00:56.7349071Z             {
2026-06-03T22:00:56.7349197Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7349284Z               "line": 898
2026-06-03T22:00:56.7349600Z             }
2026-06-03T22:00:56.7349765Z           ]
2026-06-03T22:00:56.7349861Z         }
2026-06-03T22:00:56.7349939Z       }
2026-06-03T22:00:56.7350018Z     },
2026-06-03T22:00:56.7350095Z     {
2026-06-03T22:00:56.7350201Z       "id": "REQ-MIGRATE-1",
2026-06-03T22:00:56.7350418Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-03T22:00:56.7350519Z       "requiredStages": [],
2026-06-03T22:00:56.7350607Z       "stages": {
2026-06-03T22:00:56.7350688Z         "doc": {
2026-06-03T22:00:56.7350786Z           "complete": false,
2026-06-03T22:00:56.7351014Z           "evidence": []
2026-06-03T22:00:56.7351097Z         },
2026-06-03T22:00:56.7351280Z         "impl": {
2026-06-03T22:00:56.7351379Z           "complete": false,
2026-06-03T22:00:56.7351466Z           "evidence": []
2026-06-03T22:00:56.7351543Z         },
2026-06-03T22:00:56.7351623Z         "int": {
2026-06-03T22:00:56.7351714Z           "complete": false,
2026-06-03T22:00:56.7351804Z           "evidence": []
2026-06-03T22:00:56.7351880Z         },
2026-06-03T22:00:56.7351963Z         "unit": {
2026-06-03T22:00:56.7352053Z           "complete": false,
2026-06-03T22:00:56.7352139Z           "evidence": []
2026-06-03T22:00:56.7352217Z         }
2026-06-03T22:00:56.7352296Z       }
2026-06-03T22:00:56.7352375Z     },
2026-06-03T22:00:56.7352450Z     {
2026-06-03T22:00:56.7352541Z       "id": "REQ-MSG-1",
2026-06-03T22:00:56.7353110Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-03T22:00:56.7353211Z       "requiredStages": [
2026-06-03T22:00:56.7353301Z         "impl",
2026-06-03T22:00:56.7353380Z         "unit",
2026-06-03T22:00:56.7353461Z         "int"
2026-06-03T22:00:56.7353537Z       ],
2026-06-03T22:00:56.7353627Z       "stages": {
2026-06-03T22:00:56.7353707Z         "doc": {
2026-06-03T22:00:56.7353797Z           "complete": false,
2026-06-03T22:00:56.7353886Z           "evidence": []
2026-06-03T22:00:56.7353966Z         },
2026-06-03T22:00:56.7354048Z         "impl": {
2026-06-03T22:00:56.7354138Z           "complete": true,
2026-06-03T22:00:56.7354228Z           "evidence": [
2026-06-03T22:00:56.7354311Z             {
2026-06-03T22:00:56.7354440Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7354528Z               "line": 28
2026-06-03T22:00:56.7354607Z             },
2026-06-03T22:00:56.7354688Z             {
2026-06-03T22:00:56.7354808Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7354899Z               "line": 91
2026-06-03T22:00:56.7354977Z             },
2026-06-03T22:00:56.7355058Z             {
2026-06-03T22:00:56.7355176Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7355263Z               "line": 134
2026-06-03T22:00:56.7355346Z             },
2026-06-03T22:00:56.7355424Z             {
2026-06-03T22:00:56.7355548Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7355635Z               "line": 159
2026-06-03T22:00:56.7355711Z             },
2026-06-03T22:00:56.7355791Z             {
2026-06-03T22:00:56.7355911Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T22:00:56.7356004Z               "line": 18
2026-06-03T22:00:56.7356087Z             },
2026-06-03T22:00:56.7356164Z             {
2026-06-03T22:00:56.7356283Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7356366Z               "line": 13
2026-06-03T22:00:56.7356447Z             },
2026-06-03T22:00:56.7356524Z             {
2026-06-03T22:00:56.7356645Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7356737Z               "line": 61
2026-06-03T22:00:56.7356815Z             },
2026-06-03T22:00:56.7356896Z             {
2026-06-03T22:00:56.7357005Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T22:00:56.7357094Z               "line": 10
2026-06-03T22:00:56.7357172Z             }
2026-06-03T22:00:56.7357256Z           ]
2026-06-03T22:00:56.7357335Z         },
2026-06-03T22:00:56.7357413Z         "int": {
2026-06-03T22:00:56.7357506Z           "complete": true,
2026-06-03T22:00:56.7357589Z           "evidence": [
2026-06-03T22:00:56.7357668Z             {
2026-06-03T22:00:56.7357820Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T22:00:56.7357905Z               "line": 9
2026-06-03T22:00:56.7357986Z             },
2026-06-03T22:00:56.7358064Z             {
2026-06-03T22:00:56.7358211Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T22:00:56.7358419Z               "line": 66
2026-06-03T22:00:56.7358499Z             },
2026-06-03T22:00:56.7358653Z             {
2026-06-03T22:00:56.7358797Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T22:00:56.7358886Z               "line": 116
2026-06-03T22:00:56.7358965Z             }
2026-06-03T22:00:56.7359046Z           ]
2026-06-03T22:00:56.7359124Z         },
2026-06-03T22:00:56.7359206Z         "unit": {
2026-06-03T22:00:56.7359295Z           "complete": true,
2026-06-03T22:00:56.7359518Z           "evidence": [
2026-06-03T22:00:56.7359605Z             {
2026-06-03T22:00:56.7359728Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7359816Z               "line": 188
2026-06-03T22:00:56.7359894Z             },
2026-06-03T22:00:56.7359977Z             {
2026-06-03T22:00:56.7360096Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7360182Z               "line": 217
2026-06-03T22:00:56.7360269Z             },
2026-06-03T22:00:56.7360354Z             {
2026-06-03T22:00:56.7360478Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7360568Z               "line": 262
2026-06-03T22:00:56.7360651Z             },
2026-06-03T22:00:56.7360729Z             {
2026-06-03T22:00:56.7360850Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7360939Z               "line": 285
2026-06-03T22:00:56.7361020Z             },
2026-06-03T22:00:56.7361103Z             {
2026-06-03T22:00:56.7361218Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-03T22:00:56.7361309Z               "line": 307
2026-06-03T22:00:56.7361387Z             },
2026-06-03T22:00:56.7361468Z             {
2026-06-03T22:00:56.7361598Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T22:00:56.7361681Z               "line": 203
2026-06-03T22:00:56.7361762Z             },
2026-06-03T22:00:56.7361840Z             {
2026-06-03T22:00:56.7361962Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T22:00:56.7362052Z               "line": 233
2026-06-03T22:00:56.7362144Z             },
2026-06-03T22:00:56.7362225Z             {
2026-06-03T22:00:56.7362341Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T22:00:56.7362430Z               "line": 247
2026-06-03T22:00:56.7362509Z             },
2026-06-03T22:00:56.7362586Z             {
2026-06-03T22:00:56.7362700Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T22:00:56.7362787Z               "line": 259
2026-06-03T22:00:56.7362866Z             },
2026-06-03T22:00:56.7362947Z             {
2026-06-03T22:00:56.7363061Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7363145Z               "line": 158
2026-06-03T22:00:56.7363227Z             },
2026-06-03T22:00:56.7363305Z             {
2026-06-03T22:00:56.7363418Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-03T22:00:56.7363503Z               "line": 235
2026-06-03T22:00:56.7363582Z             },
2026-06-03T22:00:56.7363661Z             {
2026-06-03T22:00:56.7363774Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T22:00:56.7363865Z               "line": 68
2026-06-03T22:00:56.7363948Z             },
2026-06-03T22:00:56.7364025Z             {
2026-06-03T22:00:56.7364136Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T22:00:56.7364220Z               "line": 74
2026-06-03T22:00:56.7364302Z             },
2026-06-03T22:00:56.7364377Z             {
2026-06-03T22:00:56.7364489Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T22:00:56.7364572Z               "line": 80
2026-06-03T22:00:56.7364650Z             },
2026-06-03T22:00:56.7364732Z             {
2026-06-03T22:00:56.7364846Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-03T22:00:56.7364930Z               "line": 99
2026-06-03T22:00:56.7365007Z             }
2026-06-03T22:00:56.7365087Z           ]
2026-06-03T22:00:56.7365165Z         }
2026-06-03T22:00:56.7365241Z       }
2026-06-03T22:00:56.7365322Z     },
2026-06-03T22:00:56.7365522Z     {
2026-06-03T22:00:56.7365615Z       "id": "REQ-MSG-2",
2026-06-03T22:00:56.7366077Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-03T22:00:56.7366176Z       "requiredStages": [
2026-06-03T22:00:56.7366259Z         "impl",
2026-06-03T22:00:56.7366338Z         "unit"
2026-06-03T22:00:56.7366416Z       ],
2026-06-03T22:00:56.7366498Z       "stages": {
2026-06-03T22:00:56.7366579Z         "doc": {
2026-06-03T22:00:56.7366670Z           "complete": false,
2026-06-03T22:00:56.7366759Z           "evidence": []
2026-06-03T22:00:56.7366839Z         },
2026-06-03T22:00:56.7366919Z         "impl": {
2026-06-03T22:00:56.7367012Z           "complete": true,
2026-06-03T22:00:56.7367096Z           "evidence": [
2026-06-03T22:00:56.7367177Z             {
2026-06-03T22:00:56.7367287Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7367374Z               "line": 11
2026-06-03T22:00:56.7367455Z             },
2026-06-03T22:00:56.7367537Z             {
2026-06-03T22:00:56.7367649Z               "path": "crates/spt/src/main.rs",
2026-06-03T22:00:56.7367736Z               "line": 8
2026-06-03T22:00:56.7367820Z             }
2026-06-03T22:00:56.7367898Z           ]
2026-06-03T22:00:56.7367981Z         },
2026-06-03T22:00:56.7368063Z         "int": {
2026-06-03T22:00:56.7368152Z           "complete": false,
2026-06-03T22:00:56.7368245Z           "evidence": []
2026-06-03T22:00:56.7368323Z         },
2026-06-03T22:00:56.7368406Z         "unit": {
2026-06-03T22:00:56.7368496Z           "complete": true,
2026-06-03T22:00:56.7368586Z           "evidence": [
2026-06-03T22:00:56.7368668Z             {
2026-06-03T22:00:56.7368775Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7368866Z               "line": 585
2026-06-03T22:00:56.7368945Z             },
2026-06-03T22:00:56.7369028Z             {
2026-06-03T22:00:56.7369129Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7369218Z               "line": 619
2026-06-03T22:00:56.7369306Z             },
2026-06-03T22:00:56.7369519Z             {
2026-06-03T22:00:56.7369642Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7369727Z               "line": 628
2026-06-03T22:00:56.7369808Z             },
2026-06-03T22:00:56.7369887Z             {
2026-06-03T22:00:56.7369995Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7370086Z               "line": 640
2026-06-03T22:00:56.7370164Z             }
2026-06-03T22:00:56.7370247Z           ]
2026-06-03T22:00:56.7370323Z         }
2026-06-03T22:00:56.7370403Z       }
2026-06-03T22:00:56.7370479Z     },
2026-06-03T22:00:56.7370557Z     {
2026-06-03T22:00:56.7370647Z       "id": "REQ-MSG-3",
2026-06-03T22:00:56.7371151Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-03T22:00:56.7371249Z       "requiredStages": [
2026-06-03T22:00:56.7371332Z         "impl",
2026-06-03T22:00:56.7371420Z         "unit",
2026-06-03T22:00:56.7371498Z         "int"
2026-06-03T22:00:56.7371581Z       ],
2026-06-03T22:00:56.7371666Z       "stages": {
2026-06-03T22:00:56.7371745Z         "doc": {
2026-06-03T22:00:56.7371839Z           "complete": false,
2026-06-03T22:00:56.7371924Z           "evidence": []
2026-06-03T22:00:56.7372003Z         },
2026-06-03T22:00:56.7372082Z         "impl": {
2026-06-03T22:00:56.7372173Z           "complete": true,
2026-06-03T22:00:56.7372260Z           "evidence": [
2026-06-03T22:00:56.7372336Z             {
2026-06-03T22:00:56.7372469Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-03T22:00:56.7372552Z               "line": 19
2026-06-03T22:00:56.7372634Z             },
2026-06-03T22:00:56.7372710Z             {
2026-06-03T22:00:56.7372834Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T22:00:56.7372919Z               "line": 21
2026-06-03T22:00:56.7372997Z             },
2026-06-03T22:00:56.7373077Z             {
2026-06-03T22:00:56.7373316Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T22:00:56.7373506Z               "line": 48
2026-06-03T22:00:56.7373584Z             },
2026-06-03T22:00:56.7373663Z             {
2026-06-03T22:00:56.7373779Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T22:00:56.7373862Z               "line": 106
2026-06-03T22:00:56.7373942Z             }
2026-06-03T22:00:56.7374018Z           ]
2026-06-03T22:00:56.7374097Z         },
2026-06-03T22:00:56.7374175Z         "int": {
2026-06-03T22:00:56.7374270Z           "complete": true,
2026-06-03T22:00:56.7374360Z           "evidence": [
2026-06-03T22:00:56.7374438Z             {
2026-06-03T22:00:56.7374595Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T22:00:56.7374680Z               "line": 10
2026-06-03T22:00:56.7374762Z             },
2026-06-03T22:00:56.7374839Z             {
2026-06-03T22:00:56.7374988Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-03T22:00:56.7375081Z               "line": 66
2026-06-03T22:00:56.7375157Z             }
2026-06-03T22:00:56.7375242Z           ]
2026-06-03T22:00:56.7375318Z         },
2026-06-03T22:00:56.7375401Z         "unit": {
2026-06-03T22:00:56.7375489Z           "complete": true,
2026-06-03T22:00:56.7375576Z           "evidence": [
2026-06-03T22:00:56.7375657Z             {
2026-06-03T22:00:56.7375770Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T22:00:56.7375857Z               "line": 160
2026-06-03T22:00:56.7375934Z             },
2026-06-03T22:00:56.7376013Z             {
2026-06-03T22:00:56.7376122Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T22:00:56.7376212Z               "line": 179
2026-06-03T22:00:56.7376294Z             },
2026-06-03T22:00:56.7376371Z             {
2026-06-03T22:00:56.7376483Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-03T22:00:56.7376568Z               "line": 198
2026-06-03T22:00:56.7376650Z             }
2026-06-03T22:00:56.7376728Z           ]
2026-06-03T22:00:56.7376813Z         }
2026-06-03T22:00:56.7376901Z       }
2026-06-03T22:00:56.7376979Z     },
2026-06-03T22:00:56.7377060Z     {
2026-06-03T22:00:56.7377147Z       "id": "REQ-NET-1",
2026-06-03T22:00:56.7377361Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-03T22:00:56.7377453Z       "requiredStages": [
2026-06-03T22:00:56.7377541Z         "impl",
2026-06-03T22:00:56.7377626Z         "unit"
2026-06-03T22:00:56.7377704Z       ],
2026-06-03T22:00:56.7377792Z       "stages": {
2026-06-03T22:00:56.7377875Z         "doc": {
2026-06-03T22:00:56.7377972Z           "complete": false,
2026-06-03T22:00:56.7378059Z           "evidence": []
2026-06-03T22:00:56.7378142Z         },
2026-06-03T22:00:56.7378228Z         "impl": {
2026-06-03T22:00:56.7378316Z           "complete": true,
2026-06-03T22:00:56.7378404Z           "evidence": [
2026-06-03T22:00:56.7378480Z             {
2026-06-03T22:00:56.7378618Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7378709Z               "line": 58
2026-06-03T22:00:56.7378798Z             },
2026-06-03T22:00:56.7378877Z             {
2026-06-03T22:00:56.7379006Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7379094Z               "line": 100
2026-06-03T22:00:56.7379173Z             },
2026-06-03T22:00:56.7379255Z             {
2026-06-03T22:00:56.7379506Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7379604Z               "line": 116
2026-06-03T22:00:56.7379688Z             },
2026-06-03T22:00:56.7379766Z             {
2026-06-03T22:00:56.7379908Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7379993Z               "line": 153
2026-06-03T22:00:56.7380078Z             },
2026-06-03T22:00:56.7380157Z             {
2026-06-03T22:00:56.7380289Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7380376Z               "line": 184
2026-06-03T22:00:56.7380453Z             },
2026-06-03T22:00:56.7380652Z             {
2026-06-03T22:00:56.7380904Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7380991Z               "line": 190
2026-06-03T22:00:56.7381071Z             },
2026-06-03T22:00:56.7381148Z             {
2026-06-03T22:00:56.7381277Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7381362Z               "line": 206
2026-06-03T22:00:56.7381444Z             }
2026-06-03T22:00:56.7381522Z           ]
2026-06-03T22:00:56.7381603Z         },
2026-06-03T22:00:56.7381687Z         "int": {
2026-06-03T22:00:56.7381778Z           "complete": false,
2026-06-03T22:00:56.7381868Z           "evidence": []
2026-06-03T22:00:56.7381945Z         },
2026-06-03T22:00:56.7382030Z         "unit": {
2026-06-03T22:00:56.7382121Z           "complete": true,
2026-06-03T22:00:56.7382213Z           "evidence": [
2026-06-03T22:00:56.7382293Z             {
2026-06-03T22:00:56.7382420Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7382510Z               "line": 253
2026-06-03T22:00:56.7382592Z             },
2026-06-03T22:00:56.7382671Z             {
2026-06-03T22:00:56.7382797Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7382882Z               "line": 269
2026-06-03T22:00:56.7382962Z             },
2026-06-03T22:00:56.7383041Z             {
2026-06-03T22:00:56.7383171Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7383256Z               "line": 299
2026-06-03T22:00:56.7383336Z             }
2026-06-03T22:00:56.7383413Z           ]
2026-06-03T22:00:56.7383491Z         }
2026-06-03T22:00:56.7383572Z       }
2026-06-03T22:00:56.7383649Z     },
2026-06-03T22:00:56.7383733Z     {
2026-06-03T22:00:56.7383821Z       "id": "REQ-NET-2",
2026-06-03T22:00:56.7384032Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-03T22:00:56.7384122Z       "requiredStages": [
2026-06-03T22:00:56.7384207Z         "impl"
2026-06-03T22:00:56.7384292Z       ],
2026-06-03T22:00:56.7384372Z       "stages": {
2026-06-03T22:00:56.7384459Z         "doc": {
2026-06-03T22:00:56.7384548Z           "complete": false,
2026-06-03T22:00:56.7384638Z           "evidence": []
2026-06-03T22:00:56.7384715Z         },
2026-06-03T22:00:56.7384799Z         "impl": {
2026-06-03T22:00:56.7384898Z           "complete": true,
2026-06-03T22:00:56.7384983Z           "evidence": [
2026-06-03T22:00:56.7385063Z             {
2026-06-03T22:00:56.7385191Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7385278Z               "line": 32
2026-06-03T22:00:56.7385356Z             },
2026-06-03T22:00:56.7385439Z             {
2026-06-03T22:00:56.7385571Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7385654Z               "line": 42
2026-06-03T22:00:56.7385738Z             },
2026-06-03T22:00:56.7385817Z             {
2026-06-03T22:00:56.7385946Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7386036Z               "line": 100
2026-06-03T22:00:56.7386123Z             },
2026-06-03T22:00:56.7386206Z             {
2026-06-03T22:00:56.7386333Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-03T22:00:56.7386421Z               "line": 116
2026-06-03T22:00:56.7386501Z             }
2026-06-03T22:00:56.7386583Z           ]
2026-06-03T22:00:56.7386660Z         },
2026-06-03T22:00:56.7386742Z         "int": {
2026-06-03T22:00:56.7386831Z           "complete": false,
2026-06-03T22:00:56.7386917Z           "evidence": []
2026-06-03T22:00:56.7386996Z         },
2026-06-03T22:00:56.7387075Z         "unit": {
2026-06-03T22:00:56.7387164Z           "complete": false,
2026-06-03T22:00:56.7387248Z           "evidence": []
2026-06-03T22:00:56.7387330Z         }
2026-06-03T22:00:56.7387410Z       }
2026-06-03T22:00:56.7387488Z     },
2026-06-03T22:00:56.7387569Z     {
2026-06-03T22:00:56.7387661Z       "id": "REQ-NET-3",
2026-06-03T22:00:56.7387861Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-03T22:00:56.7388112Z       "requiredStages": [],
2026-06-03T22:00:56.7388199Z       "stages": {
2026-06-03T22:00:56.7388284Z         "doc": {
2026-06-03T22:00:56.7388376Z           "complete": false,
2026-06-03T22:00:56.7388466Z           "evidence": []
2026-06-03T22:00:56.7388543Z         },
2026-06-03T22:00:56.7388626Z         "impl": {
2026-06-03T22:00:56.7388715Z           "complete": false,
2026-06-03T22:00:56.7388804Z           "evidence": []
2026-06-03T22:00:56.7388888Z         },
2026-06-03T22:00:56.7388967Z         "int": {
2026-06-03T22:00:56.7389060Z           "complete": false,
2026-06-03T22:00:56.7389147Z           "evidence": []
2026-06-03T22:00:56.7389230Z         },
2026-06-03T22:00:56.7389311Z         "unit": {
2026-06-03T22:00:56.7389685Z           "complete": false,
2026-06-03T22:00:56.7389839Z           "evidence": []
2026-06-03T22:00:56.7389923Z         }
2026-06-03T22:00:56.7390007Z       }
2026-06-03T22:00:56.7390086Z     },
2026-06-03T22:00:56.7390175Z     {
2026-06-03T22:00:56.7390276Z       "id": "REQ-NODE-IDENTITY",
2026-06-03T22:00:56.7390581Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-03T22:00:56.7390685Z       "requiredStages": [
2026-06-03T22:00:56.7390769Z         "impl",
2026-06-03T22:00:56.7390853Z         "unit"
2026-06-03T22:00:56.7390931Z       ],
2026-06-03T22:00:56.7391016Z       "stages": {
2026-06-03T22:00:56.7391095Z         "doc": {
2026-06-03T22:00:56.7391192Z           "complete": false,
2026-06-03T22:00:56.7391283Z           "evidence": []
2026-06-03T22:00:56.7391362Z         },
2026-06-03T22:00:56.7391449Z         "impl": {
2026-06-03T22:00:56.7391541Z           "complete": true,
2026-06-03T22:00:56.7391632Z           "evidence": [
2026-06-03T22:00:56.7391712Z             {
2026-06-03T22:00:56.7391863Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7391952Z               "line": 60
2026-06-03T22:00:56.7392033Z             },
2026-06-03T22:00:56.7392118Z             {
2026-06-03T22:00:56.7392255Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7392341Z               "line": 68
2026-06-03T22:00:56.7392420Z             },
2026-06-03T22:00:56.7392501Z             {
2026-06-03T22:00:56.7392628Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7392712Z               "line": 86
2026-06-03T22:00:56.7392797Z             },
2026-06-03T22:00:56.7392875Z             {
2026-06-03T22:00:56.7393007Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7393094Z               "line": 120
2026-06-03T22:00:56.7393178Z             },
2026-06-03T22:00:56.7393262Z             {
2026-06-03T22:00:56.7393384Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7393472Z               "line": 127
2026-06-03T22:00:56.7393550Z             },
2026-06-03T22:00:56.7393632Z             {
2026-06-03T22:00:56.7393753Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7393847Z               "line": 143
2026-06-03T22:00:56.7393934Z             }
2026-06-03T22:00:56.7394012Z           ]
2026-06-03T22:00:56.7394092Z         },
2026-06-03T22:00:56.7394172Z         "int": {
2026-06-03T22:00:56.7394266Z           "complete": false,
2026-06-03T22:00:56.7394354Z           "evidence": []
2026-06-03T22:00:56.7394436Z         },
2026-06-03T22:00:56.7394522Z         "unit": {
2026-06-03T22:00:56.7394612Z           "complete": true,
2026-06-03T22:00:56.7394703Z           "evidence": [
2026-06-03T22:00:56.7394783Z             {
2026-06-03T22:00:56.7394913Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7394997Z               "line": 199
2026-06-03T22:00:56.7395079Z             },
2026-06-03T22:00:56.7395162Z             {
2026-06-03T22:00:56.7395284Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7395374Z               "line": 218
2026-06-03T22:00:56.7395457Z             },
2026-06-03T22:00:56.7395679Z             {
2026-06-03T22:00:56.7395807Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7396001Z               "line": 232
2026-06-03T22:00:56.7396086Z             },
2026-06-03T22:00:56.7396165Z             {
2026-06-03T22:00:56.7396296Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-03T22:00:56.7396381Z               "line": 248
2026-06-03T22:00:56.7396464Z             }
2026-06-03T22:00:56.7396547Z           ]
2026-06-03T22:00:56.7396626Z         }
2026-06-03T22:00:56.7396706Z       }
2026-06-03T22:00:56.7396785Z     },
2026-06-03T22:00:56.7396867Z     {
2026-06-03T22:00:56.7396959Z       "id": "REQ-NOTIF-1",
2026-06-03T22:00:56.7397425Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-03T22:00:56.7397525Z       "requiredStages": [],
2026-06-03T22:00:56.7397608Z       "stages": {
2026-06-03T22:00:56.7397693Z         "doc": {
2026-06-03T22:00:56.7397788Z           "complete": false,
2026-06-03T22:00:56.7397885Z           "evidence": []
2026-06-03T22:00:56.7397966Z         },
2026-06-03T22:00:56.7398052Z         "impl": {
2026-06-03T22:00:56.7398146Z           "complete": false,
2026-06-03T22:00:56.7398234Z           "evidence": []
2026-06-03T22:00:56.7398317Z         },
2026-06-03T22:00:56.7398395Z         "int": {
2026-06-03T22:00:56.7398488Z           "complete": false,
2026-06-03T22:00:56.7398575Z           "evidence": []
2026-06-03T22:00:56.7398656Z         },
2026-06-03T22:00:56.7398738Z         "unit": {
2026-06-03T22:00:56.7398826Z           "complete": false,
2026-06-03T22:00:56.7398916Z           "evidence": []
2026-06-03T22:00:56.7398993Z         }
2026-06-03T22:00:56.7399073Z       }
2026-06-03T22:00:56.7399150Z     },
2026-06-03T22:00:56.7399231Z     {
2026-06-03T22:00:56.7399326Z       "id": "REQ-NOTIF-2",
2026-06-03T22:00:56.7399809Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-03T22:00:56.7399915Z       "requiredStages": [],
2026-06-03T22:00:56.7400005Z       "stages": {
2026-06-03T22:00:56.7400092Z         "doc": {
2026-06-03T22:00:56.7400183Z           "complete": false,
2026-06-03T22:00:56.7400278Z           "evidence": []
2026-06-03T22:00:56.7400363Z         },
2026-06-03T22:00:56.7400448Z         "impl": {
2026-06-03T22:00:56.7400542Z           "complete": false,
2026-06-03T22:00:56.7400631Z           "evidence": []
2026-06-03T22:00:56.7400714Z         },
2026-06-03T22:00:56.7400794Z         "int": {
2026-06-03T22:00:56.7400889Z           "complete": false,
2026-06-03T22:00:56.7400978Z           "evidence": []
2026-06-03T22:00:56.7401057Z         },
2026-06-03T22:00:56.7401143Z         "unit": {
2026-06-03T22:00:56.7401235Z           "complete": false,
2026-06-03T22:00:56.7401329Z           "evidence": []
2026-06-03T22:00:56.7401409Z         }
2026-06-03T22:00:56.7401492Z       }
2026-06-03T22:00:56.7401575Z     },
2026-06-03T22:00:56.7401652Z     {
2026-06-03T22:00:56.7401755Z       "id": "REQ-PAIR-1",
2026-06-03T22:00:56.7401877Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-03T22:00:56.7401975Z       "requiredStages": [
2026-06-03T22:00:56.7402057Z         "impl",
2026-06-03T22:00:56.7402144Z         "unit"
2026-06-03T22:00:56.7402226Z       ],
2026-06-03T22:00:56.7402309Z       "stages": {
2026-06-03T22:00:56.7402392Z         "doc": {
2026-06-03T22:00:56.7402481Z           "complete": false,
2026-06-03T22:00:56.7402569Z           "evidence": []
2026-06-03T22:00:56.7402646Z         },
2026-06-03T22:00:56.7402729Z         "impl": {
2026-06-03T22:00:56.7402819Z           "complete": true,
2026-06-03T22:00:56.7402907Z           "evidence": [
2026-06-03T22:00:56.7402990Z             {
2026-06-03T22:00:56.7403140Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7403228Z               "line": 27
2026-06-03T22:00:56.7403308Z             },
2026-06-03T22:00:56.7403388Z             {
2026-06-03T22:00:56.7403534Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7403840Z               "line": 88
2026-06-03T22:00:56.7403923Z             },
2026-06-03T22:00:56.7404002Z             {
2026-06-03T22:00:56.7404154Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7404242Z               "line": 110
2026-06-03T22:00:56.7404323Z             },
2026-06-03T22:00:56.7404406Z             {
2026-06-03T22:00:56.7404548Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7404636Z               "line": 153
2026-06-03T22:00:56.7404716Z             },
2026-06-03T22:00:56.7404797Z             {
2026-06-03T22:00:56.7404931Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7405020Z               "line": 182
2026-06-03T22:00:56.7405101Z             },
2026-06-03T22:00:56.7405178Z             {
2026-06-03T22:00:56.7405319Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T22:00:56.7405410Z               "line": 29
2026-06-03T22:00:56.7405492Z             },
2026-06-03T22:00:56.7405574Z             {
2026-06-03T22:00:56.7405737Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-03T22:00:56.7405828Z               "line": 31
2026-06-03T22:00:56.7405908Z             },
2026-06-03T22:00:56.7405992Z             {
2026-06-03T22:00:56.7406132Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7406219Z               "line": 40
2026-06-03T22:00:56.7406299Z             },
2026-06-03T22:00:56.7406381Z             {
2026-06-03T22:00:56.7406522Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7406608Z               "line": 131
2026-06-03T22:00:56.7406689Z             },
2026-06-03T22:00:56.7406767Z             {
2026-06-03T22:00:56.7406905Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7406990Z               "line": 306
2026-06-03T22:00:56.7407072Z             }
2026-06-03T22:00:56.7407159Z           ]
2026-06-03T22:00:56.7407238Z         },
2026-06-03T22:00:56.7407330Z         "int": {
2026-06-03T22:00:56.7407422Z           "complete": false,
2026-06-03T22:00:56.7407513Z           "evidence": []
2026-06-03T22:00:56.7407592Z         },
2026-06-03T22:00:56.7407676Z         "unit": {
2026-06-03T22:00:56.7407772Z           "complete": true,
2026-06-03T22:00:56.7407857Z           "evidence": [
2026-06-03T22:00:56.7407939Z             {
2026-06-03T22:00:56.7408077Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7408169Z               "line": 236
2026-06-03T22:00:56.7408249Z             },
2026-06-03T22:00:56.7408339Z             {
2026-06-03T22:00:56.7408480Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-03T22:00:56.7408567Z               "line": 349
2026-06-03T22:00:56.7408651Z             },
2026-06-03T22:00:56.7408733Z             {
2026-06-03T22:00:56.7408874Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T22:00:56.7408968Z               "line": 194
2026-06-03T22:00:56.7409051Z             },
2026-06-03T22:00:56.7409136Z             {
2026-06-03T22:00:56.7409270Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T22:00:56.7409487Z               "line": 216
2026-06-03T22:00:56.7409574Z             },
2026-06-03T22:00:56.7409658Z             {
2026-06-03T22:00:56.7409802Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T22:00:56.7409889Z               "line": 230
2026-06-03T22:00:56.7409973Z             },
2026-06-03T22:00:56.7410052Z             {
2026-06-03T22:00:56.7410188Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T22:00:56.7410273Z               "line": 242
2026-06-03T22:00:56.7410355Z             },
2026-06-03T22:00:56.7410437Z             {
2026-06-03T22:00:56.7410570Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T22:00:56.7410657Z               "line": 256
2026-06-03T22:00:56.7410867Z             },
2026-06-03T22:00:56.7410952Z             {
2026-06-03T22:00:56.7411188Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T22:00:56.7411279Z               "line": 270
2026-06-03T22:00:56.7411361Z             },
2026-06-03T22:00:56.7411439Z             {
2026-06-03T22:00:56.7411575Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T22:00:56.7411660Z               "line": 277
2026-06-03T22:00:56.7411742Z             },
2026-06-03T22:00:56.7411820Z             {
2026-06-03T22:00:56.7411958Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-03T22:00:56.7412045Z               "line": 295
2026-06-03T22:00:56.7412124Z             },
2026-06-03T22:00:56.7412207Z             {
2026-06-03T22:00:56.7412338Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7412428Z               "line": 691
2026-06-03T22:00:56.7412515Z             },
2026-06-03T22:00:56.7412593Z             {
2026-06-03T22:00:56.7412735Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7412826Z               "line": 752
2026-06-03T22:00:56.7412910Z             },
2026-06-03T22:00:56.7412990Z             {
2026-06-03T22:00:56.7413127Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7413216Z               "line": 809
2026-06-03T22:00:56.7413297Z             },
2026-06-03T22:00:56.7413381Z             {
2026-06-03T22:00:56.7413513Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7413608Z               "line": 863
2026-06-03T22:00:56.7413688Z             },
2026-06-03T22:00:56.7413774Z             {
2026-06-03T22:00:56.7413912Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7413999Z               "line": 915
2026-06-03T22:00:56.7414084Z             },
2026-06-03T22:00:56.7414162Z             {
2026-06-03T22:00:56.7414300Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7414393Z               "line": 1079
2026-06-03T22:00:56.7414483Z             }
2026-06-03T22:00:56.7414566Z           ]
2026-06-03T22:00:56.7414645Z         }
2026-06-03T22:00:56.7414732Z       }
2026-06-03T22:00:56.7414811Z     },
2026-06-03T22:00:56.7414893Z     {
2026-06-03T22:00:56.7414987Z       "id": "REQ-PAIR-2",
2026-06-03T22:00:56.7415146Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-03T22:00:56.7415244Z       "requiredStages": [
2026-06-03T22:00:56.7415329Z         "impl",
2026-06-03T22:00:56.7415412Z         "unit"
2026-06-03T22:00:56.7415490Z       ],
2026-06-03T22:00:56.7415576Z       "stages": {
2026-06-03T22:00:56.7415655Z         "doc": {
2026-06-03T22:00:56.7415748Z           "complete": false,
2026-06-03T22:00:56.7415839Z           "evidence": []
2026-06-03T22:00:56.7415917Z         },
2026-06-03T22:00:56.7416001Z         "impl": {
2026-06-03T22:00:56.7416090Z           "complete": true,
2026-06-03T22:00:56.7416181Z           "evidence": [
2026-06-03T22:00:56.7416265Z             {
2026-06-03T22:00:56.7416396Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7416490Z               "line": 42
2026-06-03T22:00:56.7416568Z             },
2026-06-03T22:00:56.7416648Z             {
2026-06-03T22:00:56.7416767Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7416855Z               "line": 151
2026-06-03T22:00:56.7416934Z             },
2026-06-03T22:00:56.7417018Z             {
2026-06-03T22:00:56.7417135Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7419652Z               "line": 171
2026-06-03T22:00:56.7419783Z             },
2026-06-03T22:00:56.7419865Z             {
2026-06-03T22:00:56.7420020Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7420112Z               "line": 209
2026-06-03T22:00:56.7420198Z             },
2026-06-03T22:00:56.7420280Z             {
2026-06-03T22:00:56.7420419Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7420717Z               "line": 232
2026-06-03T22:00:56.7420898Z             }
2026-06-03T22:00:56.7420984Z           ]
2026-06-03T22:00:56.7421064Z         },
2026-06-03T22:00:56.7421148Z         "int": {
2026-06-03T22:00:56.7421247Z           "complete": false,
2026-06-03T22:00:56.7421339Z           "evidence": []
2026-06-03T22:00:56.7421424Z         },
2026-06-03T22:00:56.7421507Z         "unit": {
2026-06-03T22:00:56.7421603Z           "complete": true,
2026-06-03T22:00:56.7421689Z           "evidence": [
2026-06-03T22:00:56.7421774Z             {
2026-06-03T22:00:56.7421901Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7421992Z               "line": 253
2026-06-03T22:00:56.7422075Z             },
2026-06-03T22:00:56.7422153Z             {
2026-06-03T22:00:56.7422279Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7422364Z               "line": 272
2026-06-03T22:00:56.7422446Z             },
2026-06-03T22:00:56.7422525Z             {
2026-06-03T22:00:56.7422653Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7422749Z               "line": 284
2026-06-03T22:00:56.7422829Z             },
2026-06-03T22:00:56.7422913Z             {
2026-06-03T22:00:56.7423030Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7423120Z               "line": 303
2026-06-03T22:00:56.7423204Z             },
2026-06-03T22:00:56.7423282Z             {
2026-06-03T22:00:56.7423400Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7423486Z               "line": 319
2026-06-03T22:00:56.7423568Z             },
2026-06-03T22:00:56.7423647Z             {
2026-06-03T22:00:56.7423769Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7423858Z               "line": 331
2026-06-03T22:00:56.7423938Z             },
2026-06-03T22:00:56.7424021Z             {
2026-06-03T22:00:56.7424137Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7424230Z               "line": 343
2026-06-03T22:00:56.7424314Z             },
2026-06-03T22:00:56.7424402Z             {
2026-06-03T22:00:56.7424533Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7424620Z               "line": 356
2026-06-03T22:00:56.7424702Z             },
2026-06-03T22:00:56.7424781Z             {
2026-06-03T22:00:56.7424905Z               "path": "crates/spt-store/src/trust.rs",
2026-06-03T22:00:56.7424989Z               "line": 370
2026-06-03T22:00:56.7425071Z             }
2026-06-03T22:00:56.7425153Z           ]
2026-06-03T22:00:56.7425231Z         }
2026-06-03T22:00:56.7425313Z       }
2026-06-03T22:00:56.7425391Z     },
2026-06-03T22:00:56.7425474Z     {
2026-06-03T22:00:56.7425570Z       "id": "REQ-PAIR-3",
2026-06-03T22:00:56.7425751Z       "title": "Fetch current pairing code from any paired node",
2026-06-03T22:00:56.7425851Z       "requiredStages": [
2026-06-03T22:00:56.7425936Z         "impl",
2026-06-03T22:00:56.7426024Z         "unit"
2026-06-03T22:00:56.7426110Z       ],
2026-06-03T22:00:56.7426198Z       "stages": {
2026-06-03T22:00:56.7426283Z         "doc": {
2026-06-03T22:00:56.7426379Z           "complete": false,
2026-06-03T22:00:56.7426472Z           "evidence": []
2026-06-03T22:00:56.7426554Z         },
2026-06-03T22:00:56.7426643Z         "impl": {
2026-06-03T22:00:56.7426733Z           "complete": true,
2026-06-03T22:00:56.7426824Z           "evidence": [
2026-06-03T22:00:56.7426903Z             {
2026-06-03T22:00:56.7427022Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7427112Z               "line": 452
2026-06-03T22:00:56.7427193Z             },
2026-06-03T22:00:56.7427275Z             {
2026-06-03T22:00:56.7427381Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7427470Z               "line": 488
2026-06-03T22:00:56.7427550Z             },
2026-06-03T22:00:56.7427635Z             {
2026-06-03T22:00:56.7427745Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7427830Z               "line": 548
2026-06-03T22:00:56.7427999Z             }
2026-06-03T22:00:56.7428150Z           ]
2026-06-03T22:00:56.7428232Z         },
2026-06-03T22:00:56.7428313Z         "int": {
2026-06-03T22:00:56.7428408Z           "complete": false,
2026-06-03T22:00:56.7428500Z           "evidence": []
2026-06-03T22:00:56.7428579Z         },
2026-06-03T22:00:56.7428663Z         "unit": {
2026-06-03T22:00:56.7428753Z           "complete": true,
2026-06-03T22:00:56.7428842Z           "evidence": [
2026-06-03T22:00:56.7428921Z             {
2026-06-03T22:00:56.7429029Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7429117Z               "line": 656
2026-06-03T22:00:56.7429196Z             },
2026-06-03T22:00:56.7429281Z             {
2026-06-03T22:00:56.7429654Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7429844Z               "line": 673
2026-06-03T22:00:56.7429937Z             },
2026-06-03T22:00:56.7430020Z             {
2026-06-03T22:00:56.7430135Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7430231Z               "line": 687
2026-06-03T22:00:56.7430320Z             },
2026-06-03T22:00:56.7430398Z             {
2026-06-03T22:00:56.7430508Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7430593Z               "line": 703
2026-06-03T22:00:56.7430677Z             },
2026-06-03T22:00:56.7430759Z             {
2026-06-03T22:00:56.7430867Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7430954Z               "line": 724
2026-06-03T22:00:56.7431035Z             },
2026-06-03T22:00:56.7431116Z             {
2026-06-03T22:00:56.7431222Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7431314Z               "line": 740
2026-06-03T22:00:56.7431397Z             },
2026-06-03T22:00:56.7431477Z             {
2026-06-03T22:00:56.7431586Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7431672Z               "line": 753
2026-06-03T22:00:56.7431754Z             },
2026-06-03T22:00:56.7431832Z             {
2026-06-03T22:00:56.7431948Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7432041Z               "line": 762
2026-06-03T22:00:56.7432121Z             }
2026-06-03T22:00:56.7432204Z           ]
2026-06-03T22:00:56.7432282Z         }
2026-06-03T22:00:56.7432366Z       }
2026-06-03T22:00:56.7432445Z     },
2026-06-03T22:00:56.7432529Z     {
2026-06-03T22:00:56.7432628Z       "id": "REQ-PAIR-4",
2026-06-03T22:00:56.7432750Z       "title": "Subnet naming on first pairing",
2026-06-03T22:00:56.7432847Z       "requiredStages": [
2026-06-03T22:00:56.7432927Z         "impl",
2026-06-03T22:00:56.7433009Z         "unit"
2026-06-03T22:00:56.7433087Z       ],
2026-06-03T22:00:56.7433172Z       "stages": {
2026-06-03T22:00:56.7433255Z         "doc": {
2026-06-03T22:00:56.7433345Z           "complete": false,
2026-06-03T22:00:56.7433434Z           "evidence": []
2026-06-03T22:00:56.7433513Z         },
2026-06-03T22:00:56.7433598Z         "impl": {
2026-06-03T22:00:56.7433688Z           "complete": true,
2026-06-03T22:00:56.7433783Z           "evidence": [
2026-06-03T22:00:56.7433873Z             {
2026-06-03T22:00:56.7434008Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-03T22:00:56.7434099Z               "line": 145
2026-06-03T22:00:56.7434177Z             }
2026-06-03T22:00:56.7434258Z           ]
2026-06-03T22:00:56.7434337Z         },
2026-06-03T22:00:56.7434419Z         "int": {
2026-06-03T22:00:56.7434511Z           "complete": false,
2026-06-03T22:00:56.7434597Z           "evidence": []
2026-06-03T22:00:56.7434677Z         },
2026-06-03T22:00:56.7434759Z         "unit": {
2026-06-03T22:00:56.7434849Z           "complete": true,
2026-06-03T22:00:56.7434934Z           "evidence": [
2026-06-03T22:00:56.7435018Z             {
2026-06-03T22:00:56.7435166Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7435253Z               "line": 967
2026-06-03T22:00:56.7435335Z             }
2026-06-03T22:00:56.7435417Z           ]
2026-06-03T22:00:56.7435500Z         }
2026-06-03T22:00:56.7435718Z       }
2026-06-03T22:00:56.7435901Z     },
2026-06-03T22:00:56.7435984Z     {
2026-06-03T22:00:56.7436078Z       "id": "REQ-PAIR-5",
2026-06-03T22:00:56.7436480Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-03T22:00:56.7436575Z       "requiredStages": [
2026-06-03T22:00:56.7436662Z         "impl",
2026-06-03T22:00:56.7436743Z         "unit"
2026-06-03T22:00:56.7436827Z       ],
2026-06-03T22:00:56.7436918Z       "stages": {
2026-06-03T22:00:56.7436998Z         "doc": {
2026-06-03T22:00:56.7437096Z           "complete": false,
2026-06-03T22:00:56.7437183Z           "evidence": []
2026-06-03T22:00:56.7437266Z         },
2026-06-03T22:00:56.7437348Z         "impl": {
2026-06-03T22:00:56.7437443Z           "complete": true,
2026-06-03T22:00:56.7437532Z           "evidence": [
2026-06-03T22:00:56.7437613Z             {
2026-06-03T22:00:56.7437785Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T22:00:56.7437880Z               "line": 33
2026-06-03T22:00:56.7437969Z             },
2026-06-03T22:00:56.7438049Z             {
2026-06-03T22:00:56.7438210Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T22:00:56.7438301Z               "line": 45
2026-06-03T22:00:56.7438381Z             },
2026-06-03T22:00:56.7438463Z             {
2026-06-03T22:00:56.7438614Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T22:00:56.7438701Z               "line": 59
2026-06-03T22:00:56.7438780Z             },
2026-06-03T22:00:56.7438860Z             {
2026-06-03T22:00:56.7439004Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7439091Z               "line": 306
2026-06-03T22:00:56.7439172Z             }
2026-06-03T22:00:56.7439251Z           ]
2026-06-03T22:00:56.7439468Z         },
2026-06-03T22:00:56.7439556Z         "int": {
2026-06-03T22:00:56.7439653Z           "complete": false,
2026-06-03T22:00:56.7439751Z           "evidence": []
2026-06-03T22:00:56.7439835Z         },
2026-06-03T22:00:56.7439921Z         "unit": {
2026-06-03T22:00:56.7440012Z           "complete": true,
2026-06-03T22:00:56.7440103Z           "evidence": [
2026-06-03T22:00:56.7440182Z             {
2026-06-03T22:00:56.7440352Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T22:00:56.7440441Z               "line": 72
2026-06-03T22:00:56.7440522Z             },
2026-06-03T22:00:56.7440604Z             {
2026-06-03T22:00:56.7440756Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T22:00:56.7440845Z               "line": 82
2026-06-03T22:00:56.7440930Z             },
2026-06-03T22:00:56.7441008Z             {
2026-06-03T22:00:56.7441164Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T22:00:56.7441248Z               "line": 92
2026-06-03T22:00:56.7441330Z             },
2026-06-03T22:00:56.7441410Z             {
2026-06-03T22:00:56.7441568Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T22:00:56.7441662Z               "line": 102
2026-06-03T22:00:56.7441739Z             },
2026-06-03T22:00:56.7441819Z             {
2026-06-03T22:00:56.7441972Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-03T22:00:56.7442061Z               "line": 117
2026-06-03T22:00:56.7442138Z             },
2026-06-03T22:00:56.7442221Z             {
2026-06-03T22:00:56.7442362Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7442449Z               "line": 745
2026-06-03T22:00:56.7442531Z             },
2026-06-03T22:00:56.7442613Z             {
2026-06-03T22:00:56.7442755Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7442841Z               "line": 801
2026-06-03T22:00:56.7442926Z             },
2026-06-03T22:00:56.7443021Z             {
2026-06-03T22:00:56.7443155Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-03T22:00:56.7443374Z               "line": 1021
2026-06-03T22:00:56.7443554Z             }
2026-06-03T22:00:56.7443638Z           ]
2026-06-03T22:00:56.7443716Z         }
2026-06-03T22:00:56.7443801Z       }
2026-06-03T22:00:56.7443885Z     },
2026-06-03T22:00:56.7443963Z     {
2026-06-03T22:00:56.7444059Z       "id": "REQ-PAIR-6",
2026-06-03T22:00:56.7444383Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-03T22:00:56.7444482Z       "requiredStages": [
2026-06-03T22:00:56.7444567Z         "impl",
2026-06-03T22:00:56.7444652Z         "unit"
2026-06-03T22:00:56.7444735Z       ],
2026-06-03T22:00:56.7444819Z       "stages": {
2026-06-03T22:00:56.7444904Z         "doc": {
2026-06-03T22:00:56.7444997Z           "complete": false,
2026-06-03T22:00:56.7445093Z           "evidence": []
2026-06-03T22:00:56.7445171Z         },
2026-06-03T22:00:56.7445258Z         "impl": {
2026-06-03T22:00:56.7445352Z           "complete": true,
2026-06-03T22:00:56.7445446Z           "evidence": [
2026-06-03T22:00:56.7445533Z             {
2026-06-03T22:00:56.7445644Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7445733Z               "line": 488
2026-06-03T22:00:56.7445810Z             },
2026-06-03T22:00:56.7445891Z             {
2026-06-03T22:00:56.7446005Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7446090Z               "line": 548
2026-06-03T22:00:56.7446173Z             },
2026-06-03T22:00:56.7446251Z             {
2026-06-03T22:00:56.7446377Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T22:00:56.7446464Z               "line": 18
2026-06-03T22:00:56.7446548Z             },
2026-06-03T22:00:56.7446629Z             {
2026-06-03T22:00:56.7446745Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T22:00:56.7446834Z               "line": 43
2026-06-03T22:00:56.7446913Z             },
2026-06-03T22:00:56.7446996Z             {
2026-06-03T22:00:56.7447110Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T22:00:56.7447202Z               "line": 64
2026-06-03T22:00:56.7447287Z             }
2026-06-03T22:00:56.7447367Z           ]
2026-06-03T22:00:56.7447449Z         },
2026-06-03T22:00:56.7447530Z         "int": {
2026-06-03T22:00:56.7447624Z           "complete": false,
2026-06-03T22:00:56.7447710Z           "evidence": []
2026-06-03T22:00:56.7447794Z         },
2026-06-03T22:00:56.7447880Z         "unit": {
2026-06-03T22:00:56.7447970Z           "complete": true,
2026-06-03T22:00:56.7448059Z           "evidence": [
2026-06-03T22:00:56.7448139Z             {
2026-06-03T22:00:56.7448248Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7448333Z               "line": 775
2026-06-03T22:00:56.7448416Z             },
2026-06-03T22:00:56.7448496Z             {
2026-06-03T22:00:56.7448600Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7448687Z               "line": 792
2026-06-03T22:00:56.7448767Z             },
2026-06-03T22:00:56.7448855Z             {
2026-06-03T22:00:56.7448971Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T22:00:56.7449065Z               "line": 126
2026-06-03T22:00:56.7449148Z             },
2026-06-03T22:00:56.7449227Z             {
2026-06-03T22:00:56.7449461Z               "path": "crates/spt/src/elevation.rs",
2026-06-03T22:00:56.7449551Z               "line": 135
2026-06-03T22:00:56.7449635Z             }
2026-06-03T22:00:56.7449716Z           ]
2026-06-03T22:00:56.7449794Z         }
2026-06-03T22:00:56.7449875Z       }
2026-06-03T22:00:56.7449952Z     },
2026-06-03T22:00:56.7450031Z     {
2026-06-03T22:00:56.7450121Z       "id": "REQ-PAIR-7",
2026-06-03T22:00:56.7450310Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-03T22:00:56.7450403Z       "requiredStages": [],
2026-06-03T22:00:56.7450488Z       "stages": {
2026-06-03T22:00:56.7450570Z         "doc": {
2026-06-03T22:00:56.7450661Z           "complete": false,
2026-06-03T22:00:56.7450752Z           "evidence": []
2026-06-03T22:00:56.7450956Z         },
2026-06-03T22:00:56.7451143Z         "impl": {
2026-06-03T22:00:56.7451234Z           "complete": false,
2026-06-03T22:00:56.7451323Z           "evidence": []
2026-06-03T22:00:56.7451404Z         },
2026-06-03T22:00:56.7451484Z         "int": {
2026-06-03T22:00:56.7451575Z           "complete": false,
2026-06-03T22:00:56.7451661Z           "evidence": []
2026-06-03T22:00:56.7451742Z         },
2026-06-03T22:00:56.7451830Z         "unit": {
2026-06-03T22:00:56.7451918Z           "complete": false,
2026-06-03T22:00:56.7452005Z           "evidence": []
2026-06-03T22:00:56.7452081Z         }
2026-06-03T22:00:56.7452162Z       }
2026-06-03T22:00:56.7452238Z     },
2026-06-03T22:00:56.7452317Z     {
2026-06-03T22:00:56.7452410Z       "id": "REQ-REACH-1",
2026-06-03T22:00:56.7452576Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-03T22:00:56.7452675Z       "requiredStages": [],
2026-06-03T22:00:56.7452759Z       "stages": {
2026-06-03T22:00:56.7452849Z         "doc": {
2026-06-03T22:00:56.7452939Z           "complete": false,
2026-06-03T22:00:56.7453035Z           "evidence": []
2026-06-03T22:00:56.7453115Z         },
2026-06-03T22:00:56.7453197Z         "impl": {
2026-06-03T22:00:56.7453290Z           "complete": false,
2026-06-03T22:00:56.7453377Z           "evidence": []
2026-06-03T22:00:56.7453459Z         },
2026-06-03T22:00:56.7453539Z         "int": {
2026-06-03T22:00:56.7453631Z           "complete": false,
2026-06-03T22:00:56.7453718Z           "evidence": []
2026-06-03T22:00:56.7453795Z         },
2026-06-03T22:00:56.7453877Z         "unit": {
2026-06-03T22:00:56.7453965Z           "complete": false,
2026-06-03T22:00:56.7454052Z           "evidence": []
2026-06-03T22:00:56.7454128Z         }
2026-06-03T22:00:56.7454208Z       }
2026-06-03T22:00:56.7454288Z     },
2026-06-03T22:00:56.7454364Z     {
2026-06-03T22:00:56.7454456Z       "id": "REQ-REACH-2",
2026-06-03T22:00:56.7454627Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-03T22:00:56.7454731Z       "requiredStages": [],
2026-06-03T22:00:56.7454818Z       "stages": {
2026-06-03T22:00:56.7454901Z         "doc": {
2026-06-03T22:00:56.7454993Z           "complete": false,
2026-06-03T22:00:56.7455079Z           "evidence": []
2026-06-03T22:00:56.7455161Z         },
2026-06-03T22:00:56.7455241Z         "impl": {
2026-06-03T22:00:56.7455331Z           "complete": false,
2026-06-03T22:00:56.7455416Z           "evidence": []
2026-06-03T22:00:56.7455497Z         },
2026-06-03T22:00:56.7455579Z         "int": {
2026-06-03T22:00:56.7455668Z           "complete": false,
2026-06-03T22:00:56.7455756Z           "evidence": []
2026-06-03T22:00:56.7455834Z         },
2026-06-03T22:00:56.7455918Z         "unit": {
2026-06-03T22:00:56.7456010Z           "complete": false,
2026-06-03T22:00:56.7456098Z           "evidence": []
2026-06-03T22:00:56.7456179Z         }
2026-06-03T22:00:56.7456257Z       }
2026-06-03T22:00:56.7456338Z     },
2026-06-03T22:00:56.7456414Z     {
2026-06-03T22:00:56.7456526Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-03T22:00:56.7456776Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-03T22:00:56.7456875Z       "requiredStages": [
2026-06-03T22:00:56.7456960Z         "impl",
2026-06-03T22:00:56.7457039Z         "unit"
2026-06-03T22:00:56.7457121Z       ],
2026-06-03T22:00:56.7457202Z       "stages": {
2026-06-03T22:00:56.7457285Z         "doc": {
2026-06-03T22:00:56.7457375Z           "complete": false,
2026-06-03T22:00:56.7457464Z           "evidence": []
2026-06-03T22:00:56.7457546Z         },
2026-06-03T22:00:56.7457626Z         "impl": {
2026-06-03T22:00:56.7457721Z           "complete": true,
2026-06-03T22:00:56.7457807Z           "evidence": [
2026-06-03T22:00:56.7457888Z             {
2026-06-03T22:00:56.7458018Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7458107Z               "line": 18
2026-06-03T22:00:56.7458190Z             },
2026-06-03T22:00:56.7458269Z             {
2026-06-03T22:00:56.7458502Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7458656Z               "line": 35
2026-06-03T22:00:56.7458737Z             },
2026-06-03T22:00:56.7458851Z             {
2026-06-03T22:00:56.7458972Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7459058Z               "line": 65
2026-06-03T22:00:56.7459135Z             }
2026-06-03T22:00:56.7459217Z           ]
2026-06-03T22:00:56.7459294Z         },
2026-06-03T22:00:56.7459493Z         "int": {
2026-06-03T22:00:56.7459587Z           "complete": false,
2026-06-03T22:00:56.7459677Z           "evidence": []
2026-06-03T22:00:56.7459759Z         },
2026-06-03T22:00:56.7459840Z         "unit": {
2026-06-03T22:00:56.7459933Z           "complete": true,
2026-06-03T22:00:56.7460019Z           "evidence": [
2026-06-03T22:00:56.7460100Z             {
2026-06-03T22:00:56.7460218Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7460306Z               "line": 170
2026-06-03T22:00:56.7460394Z             },
2026-06-03T22:00:56.7460471Z             {
2026-06-03T22:00:56.7460595Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7460681Z               "line": 184
2026-06-03T22:00:56.7460763Z             },
2026-06-03T22:00:56.7460841Z             {
2026-06-03T22:00:56.7460961Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7461050Z               "line": 193
2026-06-03T22:00:56.7461128Z             }
2026-06-03T22:00:56.7461209Z           ]
2026-06-03T22:00:56.7461286Z         }
2026-06-03T22:00:56.7461365Z       }
2026-06-03T22:00:56.7461442Z     },
2026-06-03T22:00:56.7461521Z     {
2026-06-03T22:00:56.7461629Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-03T22:00:56.7461797Z       "title": "Hostable endpoint-types capability declaration",
2026-06-03T22:00:56.7461892Z       "requiredStages": [
2026-06-03T22:00:56.7461974Z         "impl",
2026-06-03T22:00:56.7462058Z         "unit"
2026-06-03T22:00:56.7462137Z       ],
2026-06-03T22:00:56.7462228Z       "stages": {
2026-06-03T22:00:56.7462317Z         "doc": {
2026-06-03T22:00:56.7462409Z           "complete": false,
2026-06-03T22:00:56.7462500Z           "evidence": []
2026-06-03T22:00:56.7462578Z         },
2026-06-03T22:00:56.7462662Z         "impl": {
2026-06-03T22:00:56.7462754Z           "complete": true,
2026-06-03T22:00:56.7462842Z           "evidence": [
2026-06-03T22:00:56.7462923Z             {
2026-06-03T22:00:56.7463053Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.7463140Z               "line": 186
2026-06-03T22:00:56.7463219Z             }
2026-06-03T22:00:56.7463301Z           ]
2026-06-03T22:00:56.7463379Z         },
2026-06-03T22:00:56.7463460Z         "int": {
2026-06-03T22:00:56.7463557Z           "complete": false,
2026-06-03T22:00:56.7463644Z           "evidence": []
2026-06-03T22:00:56.7463725Z         },
2026-06-03T22:00:56.7463805Z         "unit": {
2026-06-03T22:00:56.7463897Z           "complete": true,
2026-06-03T22:00:56.7463986Z           "evidence": [
2026-06-03T22:00:56.7464068Z             {
2026-06-03T22:00:56.7464197Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.7464281Z               "line": 301
2026-06-03T22:00:56.7464363Z             }
2026-06-03T22:00:56.7464444Z           ]
2026-06-03T22:00:56.7464525Z         }
2026-06-03T22:00:56.7464602Z       }
2026-06-03T22:00:56.7464682Z     },
2026-06-03T22:00:56.7464758Z     {
2026-06-03T22:00:56.7464858Z       "id": "REQ-SEAM-HISTORY",
2026-06-03T22:00:56.7465070Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-03T22:00:56.7465162Z       "requiredStages": [
2026-06-03T22:00:56.7465244Z         "impl",
2026-06-03T22:00:56.7465323Z         "unit",
2026-06-03T22:00:56.7465406Z         "int"
2026-06-03T22:00:56.7465487Z       ],
2026-06-03T22:00:56.7465570Z       "stages": {
2026-06-03T22:00:56.7465655Z         "doc": {
2026-06-03T22:00:56.7465746Z           "complete": false,
2026-06-03T22:00:56.7465959Z           "evidence": []
2026-06-03T22:00:56.7466037Z         },
2026-06-03T22:00:56.7466272Z         "impl": {
2026-06-03T22:00:56.7466362Z           "complete": true,
2026-06-03T22:00:56.7466451Z           "evidence": [
2026-06-03T22:00:56.7466532Z             {
2026-06-03T22:00:56.7466652Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T22:00:56.7466740Z               "line": 24
2026-06-03T22:00:56.7466818Z             },
2026-06-03T22:00:56.7466898Z             {
2026-06-03T22:00:56.7467019Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T22:00:56.7467105Z               "line": 22
2026-06-03T22:00:56.7467186Z             }
2026-06-03T22:00:56.7467265Z           ]
2026-06-03T22:00:56.7467348Z         },
2026-06-03T22:00:56.7467427Z         "int": {
2026-06-03T22:00:56.7467523Z           "complete": true,
2026-06-03T22:00:56.7467609Z           "evidence": [
2026-06-03T22:00:56.7467691Z             {
2026-06-03T22:00:56.7467824Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.7467915Z               "line": 202
2026-06-03T22:00:56.7468002Z             }
2026-06-03T22:00:56.7468080Z           ]
2026-06-03T22:00:56.7468160Z         },
2026-06-03T22:00:56.7468240Z         "unit": {
2026-06-03T22:00:56.7468331Z           "complete": true,
2026-06-03T22:00:56.7468420Z           "evidence": [
2026-06-03T22:00:56.7468500Z             {
2026-06-03T22:00:56.7468618Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T22:00:56.7468702Z               "line": 163
2026-06-03T22:00:56.7468784Z             },
2026-06-03T22:00:56.7468865Z             {
2026-06-03T22:00:56.7468977Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T22:00:56.7469064Z               "line": 186
2026-06-03T22:00:56.7469142Z             },
2026-06-03T22:00:56.7469223Z             {
2026-06-03T22:00:56.7469542Z               "path": "crates/spt-live/src/echo.rs",
2026-06-03T22:00:56.7469724Z               "line": 195
2026-06-03T22:00:56.7469842Z             },
2026-06-03T22:00:56.7469932Z             {
2026-06-03T22:00:56.7470076Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T22:00:56.7470161Z               "line": 195
2026-06-03T22:00:56.7470243Z             },
2026-06-03T22:00:56.7470321Z             {
2026-06-03T22:00:56.7470444Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T22:00:56.7470533Z               "line": 209
2026-06-03T22:00:56.7470612Z             },
2026-06-03T22:00:56.7470692Z             {
2026-06-03T22:00:56.7470811Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T22:00:56.7470898Z               "line": 228
2026-06-03T22:00:56.7470976Z             },
2026-06-03T22:00:56.7471056Z             {
2026-06-03T22:00:56.7471177Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T22:00:56.7471261Z               "line": 248
2026-06-03T22:00:56.7471342Z             },
2026-06-03T22:00:56.7471420Z             {
2026-06-03T22:00:56.7471539Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T22:00:56.7471628Z               "line": 264
2026-06-03T22:00:56.7471715Z             },
2026-06-03T22:00:56.7471796Z             {
2026-06-03T22:00:56.7471913Z               "path": "crates/spt-live/src/history.rs",
2026-06-03T22:00:56.7472001Z               "line": 279
2026-06-03T22:00:56.7472079Z             }
2026-06-03T22:00:56.7472159Z           ]
2026-06-03T22:00:56.7472236Z         }
2026-06-03T22:00:56.7472317Z       }
2026-06-03T22:00:56.7472396Z     },
2026-06-03T22:00:56.7472474Z     {
2026-06-03T22:00:56.7472573Z       "id": "REQ-SEAM-INJECT",
2026-06-03T22:00:56.7472758Z       "title": "inject-input methods configurable per activity-state",
2026-06-03T22:00:56.7472854Z       "requiredStages": [
2026-06-03T22:00:56.7472936Z         "impl",
2026-06-03T22:00:56.7473017Z         "unit"
2026-06-03T22:00:56.7473097Z       ],
2026-06-03T22:00:56.7473178Z       "stages": {
2026-06-03T22:00:56.7473260Z         "doc": {
2026-06-03T22:00:56.7473351Z           "complete": false,
2026-06-03T22:00:56.7473584Z           "evidence": []
2026-06-03T22:00:56.7473800Z         },
2026-06-03T22:00:56.7473887Z         "impl": {
2026-06-03T22:00:56.7473982Z           "complete": true,
2026-06-03T22:00:56.7474069Z           "evidence": [
2026-06-03T22:00:56.7474152Z             {
2026-06-03T22:00:56.7474272Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7474361Z               "line": 19
2026-06-03T22:00:56.7474442Z             },
2026-06-03T22:00:56.7474523Z             {
2026-06-03T22:00:56.7474647Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7474733Z               "line": 104
2026-06-03T22:00:56.7474816Z             }
2026-06-03T22:00:56.7474893Z           ]
2026-06-03T22:00:56.7474972Z         },
2026-06-03T22:00:56.7475051Z         "int": {
2026-06-03T22:00:56.7475145Z           "complete": false,
2026-06-03T22:00:56.7475233Z           "evidence": []
2026-06-03T22:00:56.7475310Z         },
2026-06-03T22:00:56.7475393Z         "unit": {
2026-06-03T22:00:56.7475489Z           "complete": true,
2026-06-03T22:00:56.7475586Z           "evidence": [
2026-06-03T22:00:56.7475664Z             {
2026-06-03T22:00:56.7475787Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7475874Z               "line": 222
2026-06-03T22:00:56.7475954Z             },
2026-06-03T22:00:56.7476034Z             {
2026-06-03T22:00:56.7476151Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-03T22:00:56.7476239Z               "line": 236
2026-06-03T22:00:56.7476317Z             }
2026-06-03T22:00:56.7476398Z           ]
2026-06-03T22:00:56.7476480Z         }
2026-06-03T22:00:56.7476557Z       }
2026-06-03T22:00:56.7476636Z     },
2026-06-03T22:00:56.7476713Z     {
2026-06-03T22:00:56.7476819Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-03T22:00:56.7476967Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-03T22:00:56.7477061Z       "requiredStages": [
2026-06-03T22:00:56.7477144Z         "impl",
2026-06-03T22:00:56.7477230Z         "unit"
2026-06-03T22:00:56.7477309Z       ],
2026-06-03T22:00:56.7477396Z       "stages": {
2026-06-03T22:00:56.7477479Z         "doc": {
2026-06-03T22:00:56.7477568Z           "complete": false,
2026-06-03T22:00:56.7477657Z           "evidence": []
2026-06-03T22:00:56.7477737Z         },
2026-06-03T22:00:56.7477819Z         "impl": {
2026-06-03T22:00:56.7477909Z           "complete": true,
2026-06-03T22:00:56.7477995Z           "evidence": [
2026-06-03T22:00:56.7478076Z             {
2026-06-03T22:00:56.7478198Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7478284Z               "line": 18
2026-06-03T22:00:56.7478364Z             },
2026-06-03T22:00:56.7478442Z             {
2026-06-03T22:00:56.7478562Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7478647Z               "line": 257
2026-06-03T22:00:56.7478729Z             }
2026-06-03T22:00:56.7478807Z           ]
2026-06-03T22:00:56.7478888Z         },
2026-06-03T22:00:56.7478972Z         "int": {
2026-06-03T22:00:56.7479066Z           "complete": false,
2026-06-03T22:00:56.7479160Z           "evidence": []
2026-06-03T22:00:56.7479238Z         },
2026-06-03T22:00:56.7479320Z         "unit": {
2026-06-03T22:00:56.7479561Z           "complete": true,
2026-06-03T22:00:56.7479653Z           "evidence": [
2026-06-03T22:00:56.7479735Z             {
2026-06-03T22:00:56.7479851Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7479940Z               "line": 420
2026-06-03T22:00:56.7480019Z             },
2026-06-03T22:00:56.7480101Z             {
2026-06-03T22:00:56.7480218Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7480308Z               "line": 430
2026-06-03T22:00:56.7480390Z             }
2026-06-03T22:00:56.7480468Z           ]
2026-06-03T22:00:56.7480547Z         }
2026-06-03T22:00:56.7480625Z       }
2026-06-03T22:00:56.7480704Z     },
2026-06-03T22:00:56.7480788Z     {
2026-06-03T22:00:56.7480887Z       "id": "REQ-SEAM-PSYCHE",
2026-06-03T22:00:56.7481187Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-03T22:00:56.7481381Z       "requiredStages": [
2026-06-03T22:00:56.7481464Z         "impl",
2026-06-03T22:00:56.7481543Z         "unit",
2026-06-03T22:00:56.7481624Z         "int"
2026-06-03T22:00:56.7481703Z       ],
2026-06-03T22:00:56.7481789Z       "stages": {
2026-06-03T22:00:56.7481871Z         "doc": {
2026-06-03T22:00:56.7481960Z           "complete": false,
2026-06-03T22:00:56.7482048Z           "evidence": []
2026-06-03T22:00:56.7482126Z         },
2026-06-03T22:00:56.7482209Z         "impl": {
2026-06-03T22:00:56.7482299Z           "complete": true,
2026-06-03T22:00:56.7482384Z           "evidence": [
2026-06-03T22:00:56.7482464Z             {
2026-06-03T22:00:56.7482584Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T22:00:56.7482669Z               "line": 19
2026-06-03T22:00:56.7482752Z             },
2026-06-03T22:00:56.7482832Z             {
2026-06-03T22:00:56.7482948Z               "path": "crates/spt/src/api/live.rs",
2026-06-03T22:00:56.7483045Z               "line": 12
2026-06-03T22:00:56.7483127Z             },
2026-06-03T22:00:56.7483204Z             {
2026-06-03T22:00:56.7483321Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7483403Z               "line": 164
2026-06-03T22:00:56.7483485Z             }
2026-06-03T22:00:56.7483562Z           ]
2026-06-03T22:00:56.7483642Z         },
2026-06-03T22:00:56.7483725Z         "int": {
2026-06-03T22:00:56.7483815Z           "complete": true,
2026-06-03T22:00:56.7483903Z           "evidence": [
2026-06-03T22:00:56.7483981Z             {
2026-06-03T22:00:56.7484110Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.7484195Z               "line": 201
2026-06-03T22:00:56.7484275Z             }
2026-06-03T22:00:56.7484356Z           ]
2026-06-03T22:00:56.7484434Z         },
2026-06-03T22:00:56.7484518Z         "unit": {
2026-06-03T22:00:56.7484605Z           "complete": true,
2026-06-03T22:00:56.7484699Z           "evidence": [
2026-06-03T22:00:56.7484783Z             {
2026-06-03T22:00:56.7484904Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T22:00:56.7484991Z               "line": 161
2026-06-03T22:00:56.7485070Z             },
2026-06-03T22:00:56.7485149Z             {
2026-06-03T22:00:56.7485265Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T22:00:56.7485354Z               "line": 168
2026-06-03T22:00:56.7485431Z             },
2026-06-03T22:00:56.7485510Z             {
2026-06-03T22:00:56.7485628Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-03T22:00:56.7485712Z               "line": 191
2026-06-03T22:00:56.7485792Z             },
2026-06-03T22:00:56.7485872Z             {
2026-06-03T22:00:56.7485992Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-03T22:00:56.7486078Z               "line": 105
2026-06-03T22:00:56.7486161Z             },
2026-06-03T22:00:56.7486242Z             {
2026-06-03T22:00:56.7486359Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-03T22:00:56.7486459Z               "line": 122
2026-06-03T22:00:56.7486539Z             },
2026-06-03T22:00:56.7486780Z             {
2026-06-03T22:00:56.7487006Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-03T22:00:56.7487158Z               "line": 136
2026-06-03T22:00:56.7487242Z             }
2026-06-03T22:00:56.7487322Z           ]
2026-06-03T22:00:56.7487401Z         }
2026-06-03T22:00:56.7487481Z       }
2026-06-03T22:00:56.7487560Z     },
2026-06-03T22:00:56.7487638Z     {
2026-06-03T22:00:56.7487740Z       "id": "REQ-SEAM-RESUME",
2026-06-03T22:00:56.7487965Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-03T22:00:56.7488057Z       "requiredStages": [
2026-06-03T22:00:56.7488141Z         "impl",
2026-06-03T22:00:56.7488221Z         "unit"
2026-06-03T22:00:56.7488302Z       ],
2026-06-03T22:00:56.7488384Z       "stages": {
2026-06-03T22:00:56.7488468Z         "doc": {
2026-06-03T22:00:56.7488671Z           "complete": false,
2026-06-03T22:00:56.7488832Z           "evidence": []
2026-06-03T22:00:56.7488913Z         },
2026-06-03T22:00:56.7488995Z         "impl": {
2026-06-03T22:00:56.7489089Z           "complete": true,
2026-06-03T22:00:56.7489174Z           "evidence": [
2026-06-03T22:00:56.7489259Z             {
2026-06-03T22:00:56.7489522Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T22:00:56.7489612Z               "line": 19
2026-06-03T22:00:56.7489696Z             }
2026-06-03T22:00:56.7489774Z           ]
2026-06-03T22:00:56.7489857Z         },
2026-06-03T22:00:56.7489937Z         "int": {
2026-06-03T22:00:56.7490033Z           "complete": false,
2026-06-03T22:00:56.7490128Z           "evidence": []
2026-06-03T22:00:56.7490213Z         },
2026-06-03T22:00:56.7490297Z         "unit": {
2026-06-03T22:00:56.7490387Z           "complete": true,
2026-06-03T22:00:56.7490478Z           "evidence": [
2026-06-03T22:00:56.7490556Z             {
2026-06-03T22:00:56.7490680Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T22:00:56.7490780Z               "line": 145
2026-06-03T22:00:56.7490859Z             },
2026-06-03T22:00:56.7490940Z             {
2026-06-03T22:00:56.7491056Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T22:00:56.7491145Z               "line": 164
2026-06-03T22:00:56.7491224Z             },
2026-06-03T22:00:56.7491306Z             {
2026-06-03T22:00:56.7491428Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T22:00:56.7491515Z               "line": 182
2026-06-03T22:00:56.7491598Z             },
2026-06-03T22:00:56.7491675Z             {
2026-06-03T22:00:56.7491795Z               "path": "crates/spt-live/src/resume.rs",
2026-06-03T22:00:56.7491885Z               "line": 206
2026-06-03T22:00:56.7491963Z             }
2026-06-03T22:00:56.7492044Z           ]
2026-06-03T22:00:56.7492122Z         }
2026-06-03T22:00:56.7492202Z       }
2026-06-03T22:00:56.7492278Z     },
2026-06-03T22:00:56.7492358Z     {
2026-06-03T22:00:56.7492461Z       "id": "REQ-SEAM-SPAWN",
2026-06-03T22:00:56.7492572Z       "title": "spawn-session seam",
2026-06-03T22:00:56.7492668Z       "requiredStages": [
2026-06-03T22:00:56.7492748Z         "impl",
2026-06-03T22:00:56.7492829Z         "unit"
2026-06-03T22:00:56.7492907Z       ],
2026-06-03T22:00:56.7492992Z       "stages": {
2026-06-03T22:00:56.7493070Z         "doc": {
2026-06-03T22:00:56.7493163Z           "complete": false,
2026-06-03T22:00:56.7493253Z           "evidence": []
2026-06-03T22:00:56.7493332Z         },
2026-06-03T22:00:56.7493416Z         "impl": {
2026-06-03T22:00:56.7493504Z           "complete": true,
2026-06-03T22:00:56.7493594Z           "evidence": [
2026-06-03T22:00:56.7493672Z             {
2026-06-03T22:00:56.7493805Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7493895Z               "line": 20
2026-06-03T22:00:56.7493971Z             }
2026-06-03T22:00:56.7494050Z           ]
2026-06-03T22:00:56.7494127Z         },
2026-06-03T22:00:56.7494214Z         "int": {
2026-06-03T22:00:56.7494304Z           "complete": false,
2026-06-03T22:00:56.7494399Z           "evidence": []
2026-06-03T22:00:56.7494478Z         },
2026-06-03T22:00:56.7494556Z         "unit": {
2026-06-03T22:00:56.7494649Z           "complete": true,
2026-06-03T22:00:56.7494735Z           "evidence": [
2026-06-03T22:00:56.7494818Z             {
2026-06-03T22:00:56.7494948Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7495038Z               "line": 397
2026-06-03T22:00:56.7495119Z             },
2026-06-03T22:00:56.7495197Z             {
2026-06-03T22:00:56.7495323Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7495406Z               "line": 404
2026-06-03T22:00:56.7495488Z             },
2026-06-03T22:00:56.7495565Z             {
2026-06-03T22:00:56.7495693Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7495779Z               "line": 414
2026-06-03T22:00:56.7495857Z             },
2026-06-03T22:00:56.7496068Z             {
2026-06-03T22:00:56.7496293Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7496385Z               "line": 420
2026-06-03T22:00:56.7496466Z             },
2026-06-03T22:00:56.7496543Z             {
2026-06-03T22:00:56.7496686Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7496772Z               "line": 440
2026-06-03T22:00:56.7496853Z             },
2026-06-03T22:00:56.7496930Z             {
2026-06-03T22:00:56.7497063Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-03T22:00:56.7497150Z               "line": 473
2026-06-03T22:00:56.7497227Z             }
2026-06-03T22:00:56.7497308Z           ]
2026-06-03T22:00:56.7497388Z         }
2026-06-03T22:00:56.7497470Z       }
2026-06-03T22:00:56.7497548Z     },
2026-06-03T22:00:56.7497631Z     {
2026-06-03T22:00:56.7497731Z       "id": "REQ-SEAM-UPDATE",
2026-06-03T22:00:56.7497933Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-03T22:00:56.7498038Z       "requiredStages": [
2026-06-03T22:00:56.7498126Z         "impl",
2026-06-03T22:00:56.7498210Z         "unit"
2026-06-03T22:00:56.7498287Z       ],
2026-06-03T22:00:56.7498374Z       "stages": {
2026-06-03T22:00:56.7498457Z         "doc": {
2026-06-03T22:00:56.7498550Z           "complete": false,
2026-06-03T22:00:56.7498644Z           "evidence": []
2026-06-03T22:00:56.7498722Z         },
2026-06-03T22:00:56.7498807Z         "impl": {
2026-06-03T22:00:56.7498898Z           "complete": true,
2026-06-03T22:00:56.7498986Z           "evidence": [
2026-06-03T22:00:56.7499067Z             {
2026-06-03T22:00:56.7499218Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7499307Z               "line": 28
2026-06-03T22:00:56.7499502Z             },
2026-06-03T22:00:56.7499587Z             {
2026-06-03T22:00:56.7499728Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7499814Z               "line": 83
2026-06-03T22:00:56.7499900Z             }
2026-06-03T22:00:56.7499982Z           ]
2026-06-03T22:00:56.7500061Z         },
2026-06-03T22:00:56.7500139Z         "int": {
2026-06-03T22:00:56.7500230Z           "complete": false,
2026-06-03T22:00:56.7500315Z           "evidence": []
2026-06-03T22:00:56.7500395Z         },
2026-06-03T22:00:56.7500476Z         "unit": {
2026-06-03T22:00:56.7500566Z           "complete": true,
2026-06-03T22:00:56.7500656Z           "evidence": [
2026-06-03T22:00:56.7500735Z             {
2026-06-03T22:00:56.7500880Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7500965Z               "line": 248
2026-06-03T22:00:56.7501045Z             },
2026-06-03T22:00:56.7501125Z             {
2026-06-03T22:00:56.7501261Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7501349Z               "line": 259
2026-06-03T22:00:56.7501427Z             }
2026-06-03T22:00:56.7501508Z           ]
2026-06-03T22:00:56.7501589Z         }
2026-06-03T22:00:56.7501672Z       }
2026-06-03T22:00:56.7501757Z     },
2026-06-03T22:00:56.7501834Z     {
2026-06-03T22:00:56.7501927Z       "id": "REQ-SEC-1",
2026-06-03T22:00:56.7502426Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-03T22:00:56.7502524Z       "requiredStages": [],
2026-06-03T22:00:56.7502606Z       "stages": {
2026-06-03T22:00:56.7502688Z         "doc": {
2026-06-03T22:00:56.7502779Z           "complete": false,
2026-06-03T22:00:56.7502864Z           "evidence": []
2026-06-03T22:00:56.7502944Z         },
2026-06-03T22:00:56.7503026Z         "impl": {
2026-06-03T22:00:56.7503116Z           "complete": false,
2026-06-03T22:00:56.7503201Z           "evidence": []
2026-06-03T22:00:56.7503282Z         },
2026-06-03T22:00:56.7503364Z         "int": {
2026-06-03T22:00:56.7503452Z           "complete": false,
2026-06-03T22:00:56.7503542Z           "evidence": []
2026-06-03T22:00:56.7503742Z         },
2026-06-03T22:00:56.7503828Z         "unit": {
2026-06-03T22:00:56.7504019Z           "complete": false,
2026-06-03T22:00:56.7504108Z           "evidence": []
2026-06-03T22:00:56.7504189Z         }
2026-06-03T22:00:56.7504266Z       }
2026-06-03T22:00:56.7504344Z     },
2026-06-03T22:00:56.7504421Z     {
2026-06-03T22:00:56.7504515Z       "id": "REQ-START-1",
2026-06-03T22:00:56.7504741Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-03T22:00:56.7504838Z       "requiredStages": [
2026-06-03T22:00:56.7504921Z         "impl",
2026-06-03T22:00:56.7504999Z         "unit"
2026-06-03T22:00:56.7505079Z       ],
2026-06-03T22:00:56.7505161Z       "stages": {
2026-06-03T22:00:56.7505243Z         "doc": {
2026-06-03T22:00:56.7505332Z           "complete": false,
2026-06-03T22:00:56.7505421Z           "evidence": []
2026-06-03T22:00:56.7505501Z         },
2026-06-03T22:00:56.7505581Z         "impl": {
2026-06-03T22:00:56.7505674Z           "complete": true,
2026-06-03T22:00:56.7505765Z           "evidence": [
2026-06-03T22:00:56.7505852Z             {
2026-06-03T22:00:56.7505974Z               "path": "crates/spt-store/src/seed.rs",
2026-06-03T22:00:56.7506061Z               "line": 16
2026-06-03T22:00:56.7506144Z             }
2026-06-03T22:00:56.7506222Z           ]
2026-06-03T22:00:56.7506304Z         },
2026-06-03T22:00:56.7506382Z         "int": {
2026-06-03T22:00:56.7506474Z           "complete": false,
2026-06-03T22:00:56.7506563Z           "evidence": []
2026-06-03T22:00:56.7506645Z         },
2026-06-03T22:00:56.7506727Z         "unit": {
2026-06-03T22:00:56.7506816Z           "complete": true,
2026-06-03T22:00:56.7506906Z           "evidence": [
2026-06-03T22:00:56.7506986Z             {
2026-06-03T22:00:56.7507110Z               "path": "crates/spt-store/src/seed.rs",
2026-06-03T22:00:56.7507195Z               "line": 43
2026-06-03T22:00:56.7507278Z             },
2026-06-03T22:00:56.7507360Z             {
2026-06-03T22:00:56.7507481Z               "path": "crates/spt-store/src/seed.rs",
2026-06-03T22:00:56.7507573Z               "line": 59
2026-06-03T22:00:56.7507652Z             }
2026-06-03T22:00:56.7507734Z           ]
2026-06-03T22:00:56.7507812Z         }
2026-06-03T22:00:56.7507892Z       }
2026-06-03T22:00:56.7507972Z     },
2026-06-03T22:00:56.7508049Z     {
2026-06-03T22:00:56.7508144Z       "id": "REQ-START-2",
2026-06-03T22:00:56.7508302Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-03T22:00:56.7508398Z       "requiredStages": [
2026-06-03T22:00:56.7508477Z         "impl",
2026-06-03T22:00:56.7508560Z         "unit",
2026-06-03T22:00:56.7508643Z         "int"
2026-06-03T22:00:56.7508723Z       ],
2026-06-03T22:00:56.7508811Z       "stages": {
2026-06-03T22:00:56.7508891Z         "doc": {
2026-06-03T22:00:56.7508982Z           "complete": false,
2026-06-03T22:00:56.7509069Z           "evidence": []
2026-06-03T22:00:56.7509152Z         },
2026-06-03T22:00:56.7509235Z         "impl": {
2026-06-03T22:00:56.7509446Z           "complete": true,
2026-06-03T22:00:56.7509545Z           "evidence": [
2026-06-03T22:00:56.7509623Z             {
2026-06-03T22:00:56.7509756Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7509840Z               "line": 16
2026-06-03T22:00:56.7509922Z             },
2026-06-03T22:00:56.7510001Z             {
2026-06-03T22:00:56.7510121Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7510207Z               "line": 94
2026-06-03T22:00:56.7510285Z             },
2026-06-03T22:00:56.7510369Z             {
2026-06-03T22:00:56.7510488Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7510577Z               "line": 163
2026-06-03T22:00:56.7510660Z             }
2026-06-03T22:00:56.7510738Z           ]
2026-06-03T22:00:56.7510818Z         },
2026-06-03T22:00:56.7510896Z         "int": {
2026-06-03T22:00:56.7510994Z           "complete": true,
2026-06-03T22:00:56.7511080Z           "evidence": [
2026-06-03T22:00:56.7511283Z             {
2026-06-03T22:00:56.7511419Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.7511608Z               "line": 150
2026-06-03T22:00:56.7511689Z             }
2026-06-03T22:00:56.7511765Z           ]
2026-06-03T22:00:56.7511844Z         },
2026-06-03T22:00:56.7511926Z         "unit": {
2026-06-03T22:00:56.7512018Z           "complete": true,
2026-06-03T22:00:56.7512106Z           "evidence": [
2026-06-03T22:00:56.7512185Z             {
2026-06-03T22:00:56.7512308Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7512393Z               "line": 354
2026-06-03T22:00:56.7512474Z             },
2026-06-03T22:00:56.7512551Z             {
2026-06-03T22:00:56.7512674Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7512763Z               "line": 387
2026-06-03T22:00:56.7512841Z             }
2026-06-03T22:00:56.7512922Z           ]
2026-06-03T22:00:56.7513000Z         }
2026-06-03T22:00:56.7513085Z       }
2026-06-03T22:00:56.7513169Z     },
2026-06-03T22:00:56.7513251Z     {
2026-06-03T22:00:56.7513350Z       "id": "REQ-START-3",
2026-06-03T22:00:56.7513554Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-03T22:00:56.7513652Z       "requiredStages": [
2026-06-03T22:00:56.7513733Z         "impl",
2026-06-03T22:00:56.7513817Z         "unit",
2026-06-03T22:00:56.7513894Z         "int"
2026-06-03T22:00:56.7513975Z       ],
2026-06-03T22:00:56.7514064Z       "stages": {
2026-06-03T22:00:56.7514145Z         "doc": {
2026-06-03T22:00:56.7514239Z           "complete": false,
2026-06-03T22:00:56.7514327Z           "evidence": []
2026-06-03T22:00:56.7514414Z         },
2026-06-03T22:00:56.7514497Z         "impl": {
2026-06-03T22:00:56.7514590Z           "complete": true,
2026-06-03T22:00:56.7514680Z           "evidence": [
2026-06-03T22:00:56.7514760Z             {
2026-06-03T22:00:56.7514895Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T22:00:56.7514979Z               "line": 23
2026-06-03T22:00:56.7515069Z             },
2026-06-03T22:00:56.7515152Z             {
2026-06-03T22:00:56.7515281Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T22:00:56.7515369Z               "line": 167
2026-06-03T22:00:56.7515448Z             },
2026-06-03T22:00:56.7515528Z             {
2026-06-03T22:00:56.7515651Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T22:00:56.7515738Z               "line": 180
2026-06-03T22:00:56.7515817Z             },
2026-06-03T22:00:56.7515897Z             {
2026-06-03T22:00:56.7516019Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7516103Z               "line": 17
2026-06-03T22:00:56.7516184Z             },
2026-06-03T22:00:56.7516266Z             {
2026-06-03T22:00:56.7516387Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7516471Z               "line": 43
2026-06-03T22:00:56.7516553Z             },
2026-06-03T22:00:56.7516637Z             {
2026-06-03T22:00:56.7516760Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7516851Z               "line": 95
2026-06-03T22:00:56.7516929Z             }
2026-06-03T22:00:56.7517012Z           ]
2026-06-03T22:00:56.7517087Z         },
2026-06-03T22:00:56.7517169Z         "int": {
2026-06-03T22:00:56.7517260Z           "complete": true,
2026-06-03T22:00:56.7517346Z           "evidence": [
2026-06-03T22:00:56.7517427Z             {
2026-06-03T22:00:56.7517548Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-03T22:00:56.7517635Z               "line": 316
2026-06-03T22:00:56.7517713Z             }
2026-06-03T22:00:56.7517793Z           ]
2026-06-03T22:00:56.7517871Z         },
2026-06-03T22:00:56.7517951Z         "unit": {
2026-06-03T22:00:56.7518043Z           "complete": true,
2026-06-03T22:00:56.7518129Z           "evidence": [
2026-06-03T22:00:56.7518210Z             {
2026-06-03T22:00:56.7518333Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T22:00:56.7518513Z               "line": 245
2026-06-03T22:00:56.7518596Z             },
2026-06-03T22:00:56.7518746Z             {
2026-06-03T22:00:56.7518873Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T22:00:56.7518960Z               "line": 263
2026-06-03T22:00:56.7519045Z             },
2026-06-03T22:00:56.7519124Z             {
2026-06-03T22:00:56.7519249Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-03T22:00:56.7519453Z               "line": 273
2026-06-03T22:00:56.7519536Z             },
2026-06-03T22:00:56.7519618Z             {
2026-06-03T22:00:56.7519736Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7519827Z               "line": 355
2026-06-03T22:00:56.7519907Z             },
2026-06-03T22:00:56.7519991Z             {
2026-06-03T22:00:56.7520113Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7520198Z               "line": 388
2026-06-03T22:00:56.7520281Z             },
2026-06-03T22:00:56.7520360Z             {
2026-06-03T22:00:56.7520483Z               "path": "crates/spt/src/api/startup.rs",
2026-06-03T22:00:56.7520578Z               "line": 396
2026-06-03T22:00:56.7520655Z             }
2026-06-03T22:00:56.7520736Z           ]
2026-06-03T22:00:56.7520816Z         }
2026-06-03T22:00:56.7520897Z       }
2026-06-03T22:00:56.7520974Z     },
2026-06-03T22:00:56.7521053Z     {
2026-06-03T22:00:56.7521143Z       "id": "REQ-START-4",
2026-06-03T22:00:56.7521299Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-03T22:00:56.7521394Z       "requiredStages": [
2026-06-03T22:00:56.7521476Z         "impl",
2026-06-03T22:00:56.7521561Z         "unit"
2026-06-03T22:00:56.7521640Z       ],
2026-06-03T22:00:56.7521727Z       "stages": {
2026-06-03T22:00:56.7521808Z         "doc": {
2026-06-03T22:00:56.7521902Z           "complete": false,
2026-06-03T22:00:56.7521994Z           "evidence": []
2026-06-03T22:00:56.7522072Z         },
2026-06-03T22:00:56.7522156Z         "impl": {
2026-06-03T22:00:56.7522246Z           "complete": true,
2026-06-03T22:00:56.7522341Z           "evidence": [
2026-06-03T22:00:56.7522428Z             {
2026-06-03T22:00:56.7522559Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.7522645Z               "line": 173
2026-06-03T22:00:56.7522723Z             }
2026-06-03T22:00:56.7522804Z           ]
2026-06-03T22:00:56.7522883Z         },
2026-06-03T22:00:56.7522965Z         "int": {
2026-06-03T22:00:56.7523054Z           "complete": false,
2026-06-03T22:00:56.7523144Z           "evidence": []
2026-06-03T22:00:56.7523223Z         },
2026-06-03T22:00:56.7523303Z         "unit": {
2026-06-03T22:00:56.7523396Z           "complete": true,
2026-06-03T22:00:56.7523481Z           "evidence": [
2026-06-03T22:00:56.7523561Z             {
2026-06-03T22:00:56.7523686Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-03T22:00:56.7523774Z               "line": 314
2026-06-03T22:00:56.7523852Z             }
2026-06-03T22:00:56.7523931Z           ]
2026-06-03T22:00:56.7524019Z         }
2026-06-03T22:00:56.7524097Z       }
2026-06-03T22:00:56.7524184Z     },
2026-06-03T22:00:56.7524262Z     {
2026-06-03T22:00:56.7524357Z       "id": "REQ-STORE-1",
2026-06-03T22:00:56.7525510Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-03T22:00:56.7525607Z       "requiredStages": [],
2026-06-03T22:00:56.7525691Z       "stages": {
2026-06-03T22:00:56.7525772Z         "doc": {
2026-06-03T22:00:56.7525861Z           "complete": false,
2026-06-03T22:00:56.7525954Z           "evidence": []
2026-06-03T22:00:56.7526034Z         },
2026-06-03T22:00:56.7526119Z         "impl": {
2026-06-03T22:00:56.7526209Z           "complete": false,
2026-06-03T22:00:56.7526298Z           "evidence": []
2026-06-03T22:00:56.7526502Z         },
2026-06-03T22:00:56.7526581Z         "int": {
2026-06-03T22:00:56.7526774Z           "complete": false,
2026-06-03T22:00:56.7526861Z           "evidence": []
2026-06-03T22:00:56.7526943Z         },
2026-06-03T22:00:56.7527023Z         "unit": {
2026-06-03T22:00:56.7527114Z           "complete": false,
2026-06-03T22:00:56.7527202Z           "evidence": []
2026-06-03T22:00:56.7527280Z         }
2026-06-03T22:00:56.7527359Z       }
2026-06-03T22:00:56.7527434Z     },
2026-06-03T22:00:56.7527514Z     {
2026-06-03T22:00:56.7527603Z       "id": "REQ-TERM-1",
2026-06-03T22:00:56.7527804Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-03T22:00:56.7527900Z       "requiredStages": [
2026-06-03T22:00:56.7527981Z         "impl",
2026-06-03T22:00:56.7528064Z         "unit"
2026-06-03T22:00:56.7528143Z       ],
2026-06-03T22:00:56.7528230Z       "stages": {
2026-06-03T22:00:56.7528310Z         "doc": {
2026-06-03T22:00:56.7528401Z           "complete": false,
2026-06-03T22:00:56.7528497Z           "evidence": []
2026-06-03T22:00:56.7528579Z         },
2026-06-03T22:00:56.7528666Z         "impl": {
2026-06-03T22:00:56.7528756Z           "complete": true,
2026-06-03T22:00:56.7528845Z           "evidence": [
2026-06-03T22:00:56.7528924Z             {
2026-06-03T22:00:56.7529048Z               "path": "crates/spt-term/src/pty.rs",
2026-06-03T22:00:56.7529135Z               "line": 61
2026-06-03T22:00:56.7529214Z             },
2026-06-03T22:00:56.7529295Z             {
2026-06-03T22:00:56.7529725Z               "path": "crates/spt-term/src/pty.rs",
2026-06-03T22:00:56.7529880Z               "line": 169
2026-06-03T22:00:56.7530004Z             },
2026-06-03T22:00:56.7530131Z             {
2026-06-03T22:00:56.7530348Z               "path": "crates/spt-term/src/surface.rs",
2026-06-03T22:00:56.7530494Z               "line": 95
2026-06-03T22:00:56.7530578Z             }
2026-06-03T22:00:56.7530657Z           ]
2026-06-03T22:00:56.7530738Z         },
2026-06-03T22:00:56.7530830Z         "int": {
2026-06-03T22:00:56.7530926Z           "complete": false,
2026-06-03T22:00:56.7531021Z           "evidence": []
2026-06-03T22:00:56.7531099Z         },
2026-06-03T22:00:56.7531182Z         "unit": {
2026-06-03T22:00:56.7531271Z           "complete": true,
2026-06-03T22:00:56.7531360Z           "evidence": [
2026-06-03T22:00:56.7531439Z             {
2026-06-03T22:00:56.7531577Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-03T22:00:56.7531664Z               "line": 28
2026-06-03T22:00:56.7531743Z             },
2026-06-03T22:00:56.7531824Z             {
2026-06-03T22:00:56.7531953Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-03T22:00:56.7532041Z               "line": 60
2026-06-03T22:00:56.7532120Z             }
2026-06-03T22:00:56.7532201Z           ]
2026-06-03T22:00:56.7532285Z         }
2026-06-03T22:00:56.7532363Z       }
2026-06-03T22:00:56.7532445Z     },
2026-06-03T22:00:56.7532523Z     {
2026-06-03T22:00:56.7532615Z       "id": "REQ-TERM-2",
2026-06-03T22:00:56.7532842Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-03T22:00:56.7532940Z       "requiredStages": [
2026-06-03T22:00:56.7533026Z         "impl",
2026-06-03T22:00:56.7533107Z         "unit"
2026-06-03T22:00:56.7533188Z       ],
2026-06-03T22:00:56.7533268Z       "stages": {
2026-06-03T22:00:56.7533351Z         "doc": {
2026-06-03T22:00:56.7533440Z           "complete": false,
2026-06-03T22:00:56.7533531Z           "evidence": []
2026-06-03T22:00:56.7533610Z         },
2026-06-03T22:00:56.7533691Z         "impl": {
2026-06-03T22:00:56.7533782Z           "complete": true,
2026-06-03T22:00:56.7533867Z           "evidence": [
2026-06-03T22:00:56.7533949Z             {
2026-06-03T22:00:56.7534074Z               "path": "crates/spt-term/src/surface.rs",
2026-06-03T22:00:56.7534161Z               "line": 112
2026-06-03T22:00:56.7534248Z             },
2026-06-03T22:00:56.7534326Z             {
2026-06-03T22:00:56.7534451Z               "path": "crates/spt-term/src/surface.rs",
2026-06-03T22:00:56.7534707Z               "line": 122
2026-06-03T22:00:56.7534925Z             }
2026-06-03T22:00:56.7535004Z           ]
2026-06-03T22:00:56.7535083Z         },
2026-06-03T22:00:56.7535167Z         "int": {
2026-06-03T22:00:56.7535256Z           "complete": false,
2026-06-03T22:00:56.7535345Z           "evidence": []
2026-06-03T22:00:56.7535424Z         },
2026-06-03T22:00:56.7535505Z         "unit": {
2026-06-03T22:00:56.7535594Z           "complete": true,
2026-06-03T22:00:56.7535682Z           "evidence": [
2026-06-03T22:00:56.7535762Z             {
2026-06-03T22:00:56.7535890Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-03T22:00:56.7535979Z               "line": 46
2026-06-03T22:00:56.7536057Z             },
2026-06-03T22:00:56.7536140Z             {
2026-06-03T22:00:56.7536265Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-03T22:00:56.7536354Z               "line": 71
2026-06-03T22:00:56.7536434Z             }
2026-06-03T22:00:56.7536516Z           ]
2026-06-03T22:00:56.7536597Z         }
2026-06-03T22:00:56.7536680Z       }
2026-06-03T22:00:56.7536761Z     },
2026-06-03T22:00:56.7536839Z     {
2026-06-03T22:00:56.7536931Z       "id": "REQ-TERM-3",
2026-06-03T22:00:56.7537098Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-03T22:00:56.7537191Z       "requiredStages": [
2026-06-03T22:00:56.7537274Z         "impl",
2026-06-03T22:00:56.7537352Z         "unit"
2026-06-03T22:00:56.7537432Z       ],
2026-06-03T22:00:56.7537513Z       "stages": {
2026-06-03T22:00:56.7537596Z         "doc": {
2026-06-03T22:00:56.7537688Z           "complete": false,
2026-06-03T22:00:56.7537774Z           "evidence": []
2026-06-03T22:00:56.7537854Z         },
2026-06-03T22:00:56.7537936Z         "impl": {
2026-06-03T22:00:56.7538027Z           "complete": true,
2026-06-03T22:00:56.7538112Z           "evidence": [
2026-06-03T22:00:56.7538192Z             {
2026-06-03T22:00:56.7538314Z               "path": "crates/spt-term/src/stream.rs",
2026-06-03T22:00:56.7538409Z               "line": 71
2026-06-03T22:00:56.7538494Z             }
2026-06-03T22:00:56.7538572Z           ]
2026-06-03T22:00:56.7538651Z         },
2026-06-03T22:00:56.7538731Z         "int": {
2026-06-03T22:00:56.7538823Z           "complete": false,
2026-06-03T22:00:56.7538909Z           "evidence": []
2026-06-03T22:00:56.7538990Z         },
2026-06-03T22:00:56.7539072Z         "unit": {
2026-06-03T22:00:56.7539160Z           "complete": true,
2026-06-03T22:00:56.7539248Z           "evidence": [
2026-06-03T22:00:56.7539325Z             {
2026-06-03T22:00:56.7539603Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-03T22:00:56.7539696Z               "line": 37
2026-06-03T22:00:56.7539774Z             },
2026-06-03T22:00:56.7539858Z             {
2026-06-03T22:00:56.7539982Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-03T22:00:56.7540072Z               "line": 67
2026-06-03T22:00:56.7540151Z             }
2026-06-03T22:00:56.7540237Z           ]
2026-06-03T22:00:56.7540331Z         }
2026-06-03T22:00:56.7540414Z       }
2026-06-03T22:00:56.7540496Z     },
2026-06-03T22:00:56.7540572Z     {
2026-06-03T22:00:56.7540665Z       "id": "REQ-TERM-4",
2026-06-03T22:00:56.7541123Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-03T22:00:56.7541223Z       "requiredStages": [
2026-06-03T22:00:56.7541309Z         "impl",
2026-06-03T22:00:56.7541390Z         "unit",
2026-06-03T22:00:56.7541473Z         "int"
2026-06-03T22:00:56.7541550Z       ],
2026-06-03T22:00:56.7541635Z       "stages": {
2026-06-03T22:00:56.7541713Z         "doc": {
2026-06-03T22:00:56.7541806Z           "complete": true,
2026-06-03T22:00:56.7541893Z           "evidence": [
2026-06-03T22:00:56.7541972Z             {
2026-06-03T22:00:56.7542081Z               "path": "docs/MANIFEST.md",
2026-06-03T22:00:56.7542166Z               "line": 106
2026-06-03T22:00:56.7542246Z             }
2026-06-03T22:00:56.7542458Z           ]
2026-06-03T22:00:56.7542643Z         },
2026-06-03T22:00:56.7542731Z         "impl": {
2026-06-03T22:00:56.7542821Z           "complete": true,
2026-06-03T22:00:56.7542911Z           "evidence": [
2026-06-03T22:00:56.7542988Z             {
2026-06-03T22:00:56.7543116Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-03T22:00:56.7543201Z               "line": 321
2026-06-03T22:00:56.7543283Z             },
2026-06-03T22:00:56.7543363Z             {
2026-06-03T22:00:56.7543487Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7543575Z               "line": 41
2026-06-03T22:00:56.7543654Z             },
2026-06-03T22:00:56.7543736Z             {
2026-06-03T22:00:56.7543859Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7543949Z               "line": 91
2026-06-03T22:00:56.7544035Z             },
2026-06-03T22:00:56.7544114Z             {
2026-06-03T22:00:56.7544239Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7544329Z               "line": 152
2026-06-03T22:00:56.7544417Z             },
2026-06-03T22:00:56.7544496Z             {
2026-06-03T22:00:56.7544622Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7544711Z               "line": 212
2026-06-03T22:00:56.7544790Z             },
2026-06-03T22:00:56.7544869Z             {
2026-06-03T22:00:56.7545003Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T22:00:56.7545090Z               "line": 20
2026-06-03T22:00:56.7545168Z             },
2026-06-03T22:00:56.7545247Z             {
2026-06-03T22:00:56.7545379Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T22:00:56.7545463Z               "line": 212
2026-06-03T22:00:56.7545544Z             },
2026-06-03T22:00:56.7545621Z             {
2026-06-03T22:00:56.7545753Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T22:00:56.7545837Z               "line": 226
2026-06-03T22:00:56.7545926Z             },
2026-06-03T22:00:56.7546006Z             {
2026-06-03T22:00:56.7546137Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7546225Z               "line": 574
2026-06-03T22:00:56.7546304Z             },
2026-06-03T22:00:56.7546385Z             {
2026-06-03T22:00:56.7546507Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T22:00:56.7546595Z               "line": 157
2026-06-03T22:00:56.7548764Z             },
2026-06-03T22:00:56.7548880Z             {
2026-06-03T22:00:56.7549025Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T22:00:56.7549117Z               "line": 199
2026-06-03T22:00:56.7549202Z             },
2026-06-03T22:00:56.7549283Z             {
2026-06-03T22:00:56.7549602Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T22:00:56.7549701Z               "line": 226
2026-06-03T22:00:56.7549782Z             },
2026-06-03T22:00:56.7549864Z             {
2026-06-03T22:00:56.7549975Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7550073Z               "line": 164
2026-06-03T22:00:56.7550160Z             }
2026-06-03T22:00:56.7550242Z           ]
2026-06-03T22:00:56.7550323Z         },
2026-06-03T22:00:56.7550405Z         "int": {
2026-06-03T22:00:56.7550500Z           "complete": true,
2026-06-03T22:00:56.7550587Z           "evidence": [
2026-06-03T22:00:56.7550669Z             {
2026-06-03T22:00:56.7550804Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-03T22:00:56.7550896Z               "line": 18
2026-06-03T22:00:56.7550976Z             }
2026-06-03T22:00:56.7551055Z           ]
2026-06-03T22:00:56.7551135Z         },
2026-06-03T22:00:56.7551214Z         "unit": {
2026-06-03T22:00:56.7551306Z           "complete": true,
2026-06-03T22:00:56.7551393Z           "evidence": [
2026-06-03T22:00:56.7551474Z             {
2026-06-03T22:00:56.7551606Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7551693Z               "line": 250
2026-06-03T22:00:56.7551981Z             },
2026-06-03T22:00:56.7552059Z             {
2026-06-03T22:00:56.7552294Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7552380Z               "line": 263
2026-06-03T22:00:56.7552461Z             },
2026-06-03T22:00:56.7552541Z             {
2026-06-03T22:00:56.7552662Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7552752Z               "line": 275
2026-06-03T22:00:56.7552830Z             },
2026-06-03T22:00:56.7552914Z             {
2026-06-03T22:00:56.7553034Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7553125Z               "line": 290
2026-06-03T22:00:56.7553208Z             },
2026-06-03T22:00:56.7553286Z             {
2026-06-03T22:00:56.7553411Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7553494Z               "line": 305
2026-06-03T22:00:56.7553577Z             },
2026-06-03T22:00:56.7553654Z             {
2026-06-03T22:00:56.7553782Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7553881Z               "line": 327
2026-06-03T22:00:56.7553961Z             },
2026-06-03T22:00:56.7554042Z             {
2026-06-03T22:00:56.7554162Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7554250Z               "line": 337
2026-06-03T22:00:56.7554329Z             },
2026-06-03T22:00:56.7554409Z             {
2026-06-03T22:00:56.7554536Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-03T22:00:56.7554621Z               "line": 364
2026-06-03T22:00:56.7554702Z             },
2026-06-03T22:00:56.7554780Z             {
2026-06-03T22:00:56.7554920Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T22:00:56.7555012Z               "line": 338
2026-06-03T22:00:56.7555093Z             },
2026-06-03T22:00:56.7555176Z             {
2026-06-03T22:00:56.7555306Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T22:00:56.7555395Z               "line": 350
2026-06-03T22:00:56.7555478Z             },
2026-06-03T22:00:56.7555563Z             {
2026-06-03T22:00:56.7555695Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T22:00:56.7555779Z               "line": 367
2026-06-03T22:00:56.7555864Z             },
2026-06-03T22:00:56.7555943Z             {
2026-06-03T22:00:56.7556070Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-03T22:00:56.7556154Z               "line": 378
2026-06-03T22:00:56.7556237Z             },
2026-06-03T22:00:56.7556317Z             {
2026-06-03T22:00:56.7556442Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7556529Z               "line": 759
2026-06-03T22:00:56.7556609Z             },
2026-06-03T22:00:56.7556691Z             {
2026-06-03T22:00:56.7556815Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7556905Z               "line": 766
2026-06-03T22:00:56.7556988Z             },
2026-06-03T22:00:56.7557066Z             {
2026-06-03T22:00:56.7557198Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7557287Z               "line": 781
2026-06-03T22:00:56.7557369Z             },
2026-06-03T22:00:56.7557446Z             {
2026-06-03T22:00:56.7557573Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T22:00:56.7557660Z               "line": 381
2026-06-03T22:00:56.7557741Z             },
2026-06-03T22:00:56.7557823Z             {
2026-06-03T22:00:56.7557943Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T22:00:56.7558038Z               "line": 402
2026-06-03T22:00:56.7558117Z             },
2026-06-03T22:00:56.7558199Z             {
2026-06-03T22:00:56.7558318Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T22:00:56.7558405Z               "line": 415
2026-06-03T22:00:56.7558488Z             },
2026-06-03T22:00:56.7558568Z             {
2026-06-03T22:00:56.7558687Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T22:00:56.7558772Z               "line": 434
2026-06-03T22:00:56.7558939Z             },
2026-06-03T22:00:56.7559094Z             {
2026-06-03T22:00:56.7559219Z               "path": "crates/spt-term/src/digest.rs",
2026-06-03T22:00:56.7559308Z               "line": 461
2026-06-03T22:00:56.7559514Z             },
2026-06-03T22:00:56.7559600Z             {
2026-06-03T22:00:56.7559728Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-03T22:00:56.7559820Z               "line": 32
2026-06-03T22:00:56.7559902Z             },
2026-06-03T22:00:56.7559981Z             {
2026-06-03T22:00:56.7560095Z               "path": "crates/spt/src/cli.rs",
2026-06-03T22:00:56.7560181Z               "line": 606
2026-06-03T22:00:56.7560262Z             }
2026-06-03T22:00:56.7560344Z           ]
2026-06-03T22:00:56.7560423Z         }
2026-06-03T22:00:56.7560506Z       }
2026-06-03T22:00:56.7560585Z     },
2026-06-03T22:00:56.7560666Z     {
2026-06-03T22:00:56.7560759Z       "id": "REQ-UPD-1",
2026-06-03T22:00:56.7560895Z       "title": "Peer-propagated update over P2P",
2026-06-03T22:00:56.7561008Z       "requiredStages": [],
2026-06-03T22:00:56.7561100Z       "stages": {
2026-06-03T22:00:56.7561188Z         "doc": {
2026-06-03T22:00:56.7561283Z           "complete": false,
2026-06-03T22:00:56.7561374Z           "evidence": []
2026-06-03T22:00:56.7561453Z         },
2026-06-03T22:00:56.7561539Z         "impl": {
2026-06-03T22:00:56.7561630Z           "complete": false,
2026-06-03T22:00:56.7561724Z           "evidence": []
2026-06-03T22:00:56.7561806Z         },
2026-06-03T22:00:56.7561888Z         "int": {
2026-06-03T22:00:56.7561980Z           "complete": false,
2026-06-03T22:00:56.7562064Z           "evidence": []
2026-06-03T22:00:56.7562144Z         },
2026-06-03T22:00:56.7562223Z         "unit": {
2026-06-03T22:00:56.7562314Z           "complete": false,
2026-06-03T22:00:56.7562401Z           "evidence": []
2026-06-03T22:00:56.7562480Z         }
2026-06-03T22:00:56.7562559Z       }
2026-06-03T22:00:56.7562637Z     },
2026-06-03T22:00:56.7562717Z     {
2026-06-03T22:00:56.7562811Z       "id": "REQ-UPD-2",
2026-06-03T22:00:56.7562990Z       "title": "All binaries signature-verified before handoff",
2026-06-03T22:00:56.7563088Z       "requiredStages": [
2026-06-03T22:00:56.7563173Z         "impl",
2026-06-03T22:00:56.7563258Z         "unit"
2026-06-03T22:00:56.7563338Z       ],
2026-06-03T22:00:56.7563424Z       "stages": {
2026-06-03T22:00:56.7563503Z         "doc": {
2026-06-03T22:00:56.7563595Z           "complete": false,
2026-06-03T22:00:56.7563682Z           "evidence": []
2026-06-03T22:00:56.7563760Z         },
2026-06-03T22:00:56.7563844Z         "impl": {
2026-06-03T22:00:56.7563933Z           "complete": true,
2026-06-03T22:00:56.7564021Z           "evidence": [
2026-06-03T22:00:56.7564099Z             {
2026-06-03T22:00:56.7564235Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7564321Z               "line": 29
2026-06-03T22:00:56.7564400Z             },
2026-06-03T22:00:56.7564482Z             {
2026-06-03T22:00:56.7564612Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7564708Z               "line": 158
2026-06-03T22:00:56.7564787Z             },
2026-06-03T22:00:56.7564870Z             {
2026-06-03T22:00:56.7564999Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7565085Z               "line": 239
2026-06-03T22:00:56.7565168Z             },
2026-06-03T22:00:56.7565246Z             {
2026-06-03T22:00:56.7565375Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7565459Z               "line": 149
2026-06-03T22:00:56.7565543Z             }
2026-06-03T22:00:56.7565626Z           ]
2026-06-03T22:00:56.7565705Z         },
2026-06-03T22:00:56.7565789Z         "int": {
2026-06-03T22:00:56.7565878Z           "complete": false,
2026-06-03T22:00:56.7565968Z           "evidence": []
2026-06-03T22:00:56.7566046Z         },
2026-06-03T22:00:56.7566129Z         "unit": {
2026-06-03T22:00:56.7566223Z           "complete": true,
2026-06-03T22:00:56.7566431Z           "evidence": [
2026-06-03T22:00:56.7566611Z             {
2026-06-03T22:00:56.7566739Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7566830Z               "line": 336
2026-06-03T22:00:56.7566909Z             },
2026-06-03T22:00:56.7566992Z             {
2026-06-03T22:00:56.7567117Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7567202Z               "line": 350
2026-06-03T22:00:56.7567287Z             },
2026-06-03T22:00:56.7567366Z             {
2026-06-03T22:00:56.7567491Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7567578Z               "line": 361
2026-06-03T22:00:56.7567657Z             },
2026-06-03T22:00:56.7567740Z             {
2026-06-03T22:00:56.7567872Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7567964Z               "line": 437
2026-06-03T22:00:56.7568044Z             },
2026-06-03T22:00:56.7568126Z             {
2026-06-03T22:00:56.7568264Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7568355Z               "line": 326
2026-06-03T22:00:56.7568438Z             },
2026-06-03T22:00:56.7568519Z             {
2026-06-03T22:00:56.7568645Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7568732Z               "line": 339
2026-06-03T22:00:56.7568818Z             }
2026-06-03T22:00:56.7568902Z           ]
2026-06-03T22:00:56.7568982Z         }
2026-06-03T22:00:56.7569065Z       }
2026-06-03T22:00:56.7569144Z     },
2026-06-03T22:00:56.7569224Z     {
2026-06-03T22:00:56.7569314Z       "id": "REQ-UPD-3",
2026-06-03T22:00:56.7569644Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-03T22:00:56.7569745Z       "requiredStages": [
2026-06-03T22:00:56.7569828Z         "impl",
2026-06-03T22:00:56.7569912Z         "unit",
2026-06-03T22:00:56.7569991Z         "int"
2026-06-03T22:00:56.7570073Z       ],
2026-06-03T22:00:56.7570154Z       "stages": {
2026-06-03T22:00:56.7570244Z         "doc": {
2026-06-03T22:00:56.7570339Z           "complete": false,
2026-06-03T22:00:56.7570431Z           "evidence": []
2026-06-03T22:00:56.7570511Z         },
2026-06-03T22:00:56.7570594Z         "impl": {
2026-06-03T22:00:56.7570691Z           "complete": true,
2026-06-03T22:00:56.7570777Z           "evidence": [
2026-06-03T22:00:56.7570858Z             {
2026-06-03T22:00:56.7570986Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7571070Z               "line": 26
2026-06-03T22:00:56.7571153Z             },
2026-06-03T22:00:56.7571234Z             {
2026-06-03T22:00:56.7571361Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7571447Z               "line": 111
2026-06-03T22:00:56.7571531Z             },
2026-06-03T22:00:56.7571618Z             {
2026-06-03T22:00:56.7571740Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7571830Z               "line": 213
2026-06-03T22:00:56.7571910Z             }
2026-06-03T22:00:56.7571997Z           ]
2026-06-03T22:00:56.7572079Z         },
2026-06-03T22:00:56.7572168Z         "int": {
2026-06-03T22:00:56.7572262Z           "complete": true,
2026-06-03T22:00:56.7572348Z           "evidence": [
2026-06-03T22:00:56.7572432Z             {
2026-06-03T22:00:56.7572575Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-03T22:00:56.7572664Z               "line": 23
2026-06-03T22:00:56.7572742Z             }
2026-06-03T22:00:56.7572824Z           ]
2026-06-03T22:00:56.7572905Z         },
2026-06-03T22:00:56.7572986Z         "unit": {
2026-06-03T22:00:56.7573081Z           "complete": true,
2026-06-03T22:00:56.7573166Z           "evidence": [
2026-06-03T22:00:56.7573249Z             {
2026-06-03T22:00:56.7573375Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7573464Z               "line": 238
2026-06-03T22:00:56.7573547Z             },
2026-06-03T22:00:56.7573629Z             {
2026-06-03T22:00:56.7573755Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7573964Z               "line": 262
2026-06-03T22:00:56.7574148Z             },
2026-06-03T22:00:56.7574228Z             {
2026-06-03T22:00:56.7574353Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7574442Z               "line": 273
2026-06-03T22:00:56.7574521Z             },
2026-06-03T22:00:56.7574603Z             {
2026-06-03T22:00:56.7574725Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-03T22:00:56.7574813Z               "line": 286
2026-06-03T22:00:56.7574892Z             }
2026-06-03T22:00:56.7574973Z           ]
2026-06-03T22:00:56.7575055Z         }
2026-06-03T22:00:56.7575133Z       }
2026-06-03T22:00:56.7575217Z     },
2026-06-03T22:00:56.7575294Z     {
2026-06-03T22:00:56.7575387Z       "id": "REQ-UPD-4",
2026-06-03T22:00:56.7575603Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-03T22:00:56.7575699Z       "requiredStages": [
2026-06-03T22:00:56.7575790Z         "impl",
2026-06-03T22:00:56.7575869Z         "unit"
2026-06-03T22:00:56.7575960Z       ],
2026-06-03T22:00:56.7576042Z       "stages": {
2026-06-03T22:00:56.7576128Z         "doc": {
2026-06-03T22:00:56.7576219Z           "complete": false,
2026-06-03T22:00:56.7576308Z           "evidence": []
2026-06-03T22:00:56.7576390Z         },
2026-06-03T22:00:56.7576473Z         "impl": {
2026-06-03T22:00:56.7576568Z           "complete": true,
2026-06-03T22:00:56.7576655Z           "evidence": [
2026-06-03T22:00:56.7576738Z             {
2026-06-03T22:00:56.7576868Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T22:00:56.7576959Z               "line": 23
2026-06-03T22:00:56.7577041Z             },
2026-06-03T22:00:56.7577120Z             {
2026-06-03T22:00:56.7577247Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T22:00:56.7577333Z               "line": 60
2026-06-03T22:00:56.7577417Z             },
2026-06-03T22:00:56.7577497Z             {
2026-06-03T22:00:56.7577630Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T22:00:56.7577723Z               "line": 79
2026-06-03T22:00:56.7577802Z             },
2026-06-03T22:00:56.7577886Z             {
2026-06-03T22:00:56.7578020Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-03T22:00:56.7578109Z               "line": 162
2026-06-03T22:00:56.7578190Z             },
2026-06-03T22:00:56.7578270Z             {
2026-06-03T22:00:56.7578390Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7578475Z               "line": 106
2026-06-03T22:00:56.7578555Z             }
2026-06-03T22:00:56.7578633Z           ]
2026-06-03T22:00:56.7578712Z         },
2026-06-03T22:00:56.7578792Z         "int": {
2026-06-03T22:00:56.7578884Z           "complete": false,
2026-06-03T22:00:56.7578972Z           "evidence": []
2026-06-03T22:00:56.7579049Z         },
2026-06-03T22:00:56.7579132Z         "unit": {
2026-06-03T22:00:56.7579224Z           "complete": true,
2026-06-03T22:00:56.7579319Z           "evidence": [
2026-06-03T22:00:56.7579516Z             {
2026-06-03T22:00:56.7579651Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-03T22:00:56.7579739Z               "line": 182
2026-06-03T22:00:56.7579819Z             },
2026-06-03T22:00:56.7579899Z             {
2026-06-03T22:00:56.7580023Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T22:00:56.7580111Z               "line": 118
2026-06-03T22:00:56.7580191Z             },
2026-06-03T22:00:56.7580278Z             {
2026-06-03T22:00:56.7580404Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T22:00:56.7580491Z               "line": 133
2026-06-03T22:00:56.7580574Z             },
2026-06-03T22:00:56.7580652Z             {
2026-06-03T22:00:56.7580777Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-03T22:00:56.7580864Z               "line": 152
2026-06-03T22:00:56.7580943Z             },
2026-06-03T22:00:56.7581022Z             {
2026-06-03T22:00:56.7581139Z               "path": "crates/spt-store/src/info.rs",
2026-06-03T22:00:56.7581449Z               "line": 234
2026-06-03T22:00:56.7581529Z             },
2026-06-03T22:00:56.7581610Z             {
2026-06-03T22:00:56.7581736Z               "path": "crates/spt-store/src/perch.rs",
2026-06-03T22:00:56.7581821Z               "line": 381
2026-06-03T22:00:56.7581899Z             }
2026-06-03T22:00:56.7581976Z           ]
2026-06-03T22:00:56.7582056Z         }
2026-06-03T22:00:56.7582133Z       }
2026-06-03T22:00:56.7582211Z     },
2026-06-03T22:00:56.7582291Z     {
2026-06-03T22:00:56.7582377Z       "id": "REQ-UPD-5",
2026-06-03T22:00:56.7582542Z       "title": "spt-core ripple-updates registered adapters",
2026-06-03T22:00:56.7582632Z       "requiredStages": [
2026-06-03T22:00:56.7582716Z         "impl",
2026-06-03T22:00:56.7582795Z         "unit"
2026-06-03T22:00:56.7582876Z       ],
2026-06-03T22:00:56.7582965Z       "stages": {
2026-06-03T22:00:56.7583046Z         "doc": {
2026-06-03T22:00:56.7583138Z           "complete": false,
2026-06-03T22:00:56.7583231Z           "evidence": []
2026-06-03T22:00:56.7583315Z         },
2026-06-03T22:00:56.7583397Z         "impl": {
2026-06-03T22:00:56.7583488Z           "complete": true,
2026-06-03T22:00:56.7583576Z           "evidence": [
2026-06-03T22:00:56.7583655Z             {
2026-06-03T22:00:56.7583804Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7583889Z               "line": 27
2026-06-03T22:00:56.7583968Z             },
2026-06-03T22:00:56.7584047Z             {
2026-06-03T22:00:56.7584186Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7584272Z               "line": 82
2026-06-03T22:00:56.7584350Z             },
2026-06-03T22:00:56.7584430Z             {
2026-06-03T22:00:56.7584568Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7584657Z               "line": 134
2026-06-03T22:00:56.7584735Z             },
2026-06-03T22:00:56.7584817Z             {
2026-06-03T22:00:56.7584949Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7585040Z               "line": 198
2026-06-03T22:00:56.7585122Z             },
2026-06-03T22:00:56.7585200Z             {
2026-06-03T22:00:56.7585326Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-03T22:00:56.7585409Z               "line": 226
2026-06-03T22:00:56.7585490Z             }
2026-06-03T22:00:56.7585571Z           ]
2026-06-03T22:00:56.7585649Z         },
2026-06-03T22:00:56.7585731Z         "int": {
2026-06-03T22:00:56.7585820Z           "complete": false,
2026-06-03T22:00:56.7585908Z           "evidence": []
2026-06-03T22:00:56.7585987Z         },
2026-06-03T22:00:56.7586071Z         "unit": {
2026-06-03T22:00:56.7586162Z           "complete": true,
2026-06-03T22:00:56.7586250Z           "evidence": [
2026-06-03T22:00:56.7586331Z             {
2026-06-03T22:00:56.7586468Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7586557Z               "line": 194
2026-06-03T22:00:56.7586642Z             },
2026-06-03T22:00:56.7586727Z             {
2026-06-03T22:00:56.7586866Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7586951Z               "line": 208
2026-06-03T22:00:56.7587035Z             },
2026-06-03T22:00:56.7587113Z             {
2026-06-03T22:00:56.7587250Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7587338Z               "line": 222
2026-06-03T22:00:56.7587417Z             },
2026-06-03T22:00:56.7587497Z             {
2026-06-03T22:00:56.7587633Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7587719Z               "line": 236
2026-06-03T22:00:56.7587799Z             },
2026-06-03T22:00:56.7587881Z             {
2026-06-03T22:00:56.7588019Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-03T22:00:56.7588103Z               "line": 270
2026-06-03T22:00:56.7588185Z             },
2026-06-03T22:00:56.7588262Z             {
2026-06-03T22:00:56.7588486Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-03T22:00:56.7588643Z               "line": 729
2026-06-03T22:00:56.7588726Z             }
2026-06-03T22:00:56.7588807Z           ]
2026-06-03T22:00:56.7588884Z         }
2026-06-03T22:00:56.7588962Z       }
2026-06-03T22:00:56.7589040Z     }
2026-06-03T22:00:56.7589117Z   ],
2026-06-03T22:00:56.7589201Z   "findings": []
2026-06-03T22:00:56.7589287Z }
